How to implement int array class in C++

1 Answer

0 votes
#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

*/

 



answered May 4, 2018 by avibootz
edited May 4, 2018 by avibootz

Related questions

1 answer 269 views
1 answer 241 views
1 answer 119 views
1 answer 180 views
1 answer 206 views
1 answer 206 views
...