我真的被困在尝试使用 delete 释放内存而不是在 for 循环中。
MyClass *Array[10];
cout << "Step 1 - Allocation" << endl << endl;
Array[0] = new MyClass();
Array[1] = new MyClass();
Array[2] = new MyClass(2, 4.6);
Array[3] = new MyClass(*Array[2]);
Array[4] = new MyClass();
Array[5] = new MyClass(13, 66.6);
Array[6] = new MyClass(75, 9.43);
Array[7] = new MyClass(*Array[6]);
Array[8] = new MyClass(*Array[1]);
Array[9] = new MyClass(*Array[3]);
cout << endl << "Step 2 - Write" << endl << endl;
for(int i=0; i<10; i++)
{
Array[i]->write();
cout << endl;
}
cout << endl << "Step 3 - Deallocation" << endl << endl;
我试过 delete[] 数组,但它不起作用。
代码必须保持原样,因为它被要求做的事情是正确的。唯一的事情是添加一个删除(单行而不是 for 循环)来删除 Array。