类的代码
class Object {
public:
Object(int i) {
id = i;
count++;
cout<<"Object "<<id<<" is created, we've got "<<count<<" object(s) now!"<<endl;
}
~Object() {
count--;
cout<<"Object "<<id<<" is deleted, we've got "<<count<<" object(s) now!"<<endl;
}
private:
int id;
static int count;
};
后面说的奇偶数对应图片每行的第一个数字
题目要求是编写一个函数,我输入一个数字,(题目给了这里的代码)先整体按顺序打印输出构造函数的部分,再打印输出奇数的析构函数,再到偶数的析构函数,具体见图
void TestObjects(int num)
{
vector<Object*> objects;
for (int i = 1;i <= num; i++)
objects.push_back(new Object(i)); // 调用构造函数
for (int i = 0; i <num; i++){
if(i%2==0){
delete objects[i]; // 调用析构函数
}
}
for(int i=1;i<=num;++i){
if(i%2==1){
delete objects[i];
}
}
}
我的下面的代码可以实现这个输出,但是它没有通过内存检查,所以应该还是有问题的,而且我的问题还有就是为什么我释放那里的判断为奇数时,对应打印的却是偶数