copy_con.cpp
Upload User: dq031136
Upload Date: 2022-08-08
Package Size: 802k
Code Size: 1k
Development Platform:

C++ Builder

  1. #include <iostream.h>
  2. #include <stdlib.h>
  3. class array 
  4. {
  5.    int *p;
  6.    int size;
  7.  public:
  8.    array(int sz) {           // simple constructor
  9.       p = new int[sz];
  10.       if(!p) exit(1);
  11.       size = sz;
  12.     }
  13.    ~array() {delete [] p;}    // destructor
  14.    array(const array &object);// copy constructor
  15.    void put(int i, int j){
  16.       if(i>=0 && i<size)
  17.         p[i] = j;
  18.     }
  19.    int get(int i) {return p[i];}
  20.  };
  21. array::array(const array &object)
  22.  {
  23.    int lcl_i;
  24.    p = new int[object.size];
  25.    if (!p)
  26.       exit(1);
  27.    for(lcl_i=0; lcl_i < object.size; lcl_i++)
  28.       p[lcl_i] = object.p[lcl_i];
  29.  }
  30. void main(void)
  31.  {
  32.    array num(10);
  33.    int lcl_i;
  34.    for (lcl_i=0; lcl_i<10; lcl_i++)
  35.       num.put(lcl_i, lcl_i);
  36.    for (lcl_i=9; lcl_i>=0; lcl_i--)
  37.       cout << num.get(lcl_i);
  38.    cout << endl;
  39.    //  Create another array using the copy constructor
  40.    array x=num;
  41.    for (lcl_i=0; lcl_i<10; lcl_i++)
  42.       cout << x.get(lcl_i);
  43.  }