65,210
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
class widget {};
class father {
public:
father() {
cout << "父类构造,w1被构造" << endl;
w1 = new widget;
};
virtual ~father() {
cout << "父类析构" << endl;
}
virtual void before_destructor() {
cout << "父类析构前准备动作,w1被析构" << endl;
delete w1;
}
private:
widget* w1;
};
class son: public father {
public:
son() {
cout << "子类构造,w2被构造" << endl;
w2 = new widget;
}
virtual ~son() {
cout << "子类析构" << endl;
before_destructor();
}
virtual void before_destructor() {
cout << "子类析构前准备动作,w2被析构" << endl;
delete w2;
}
private:
widget* w2;
};
int main() {
father* f = new son;
delete f;
::system("PAUSE");
return 0;
}
class widget {};
class father {
public:
father() {};
virtual ~father() {}
virtual before_destructor() {
cout << "析构前准备动作" << endl;
}
private:
}
class son: public father {
public:
son() { w = new widget; }
virtual ~son() { before_destructor(); }
virtual before_destructor() {
cout << "开始析构" << endl;
delete w;
}
private:
widget* w;
}
struct My_Struct
{
string strValue;
......
};
int i = 100;
while(i)
{
--i;
My_Struct mystruct;
memset(&mystruct, 0, sizeof(mystruct));
strValue = "some string";
.......
}