#include using namespace std; class managed_array { public: int* numbers; int numbers_held = 0; int capacity = 20; managed_array() { numbers = new int[20]; } void add(int new_number) { if(numbers_held >= capacity){ cout << "20 numbers reached, resizing to 40\n"; int *old_numbers = numbers; numbers = new int[40]; for(int i = 0; i < 20; i++) numbers[i] = old_numbers[i]; delete [] old_numbers; capacity = 40; } numbers[numbers_held++] = new_number; } /* We'll add this next class */ ~managed_array() { delete [] numbers; } }; int main(){ managed_array am1; managed_array am2; am1.add(3); am1.add(5); am1.add(7); am1.add(9); for(int i = 0; i < 20; i++) am1.add(i); cout << "am1 is holding : " << am1.numbers_held << " numbers\n"; for(int i = 0; i < am1.numbers_held; i++) cout << am1.numbers[i] << endl; return 0; }