#include <iostream>
using std::cout;
using std::endl;
class array {
int *p;
int size;
public:
array(int _size) {
p = new int[_size];
if (!p) exit(1);
size = _size;
}
~array() { delete[] p; }
array(const array &object);
void set(int index, int val) {
if (index >= 0 && index < size)
p[index] = val;
}
int get(int i) { return p[i]; }
void print() {
for (int i = 0; i < size; i++)
cout << p[i] << ' ';
cout << endl;
}
};
array::array(const array &object) {
p = new int[object.size];
if (!p) exit(1);
for (int i = 0; i < object.size; i++)
p[i] = object.p[i];
}
int main()
{
const int TOTAL = 5;
array arr(TOTAL);
for (int i = 0; i < TOTAL; i++)
arr.set(i, i + 3);
cout << arr.get(1) << endl;
arr.print();
array copy_arr = arr;
arr.print();
return 0;
}
/*
run:
4
3 4 5 6 7
3 4 5 6 7
*/