Chinaunix
标题:
C++类继承,析构函数问题???
[打印本页]
作者:
daxiguagg
时间:
2014-08-14 17:50
标题:
C++类继承,析构函数问题???
本帖最后由 daxiguagg 于 2014-08-14 21:23 编辑
class atest
{
public:
atest();
~atest();
int a;
int b;
protected:
private:
};
class btest:public atest
{
public:
btest();
~btest();
int a;
int b;
protected:
private:
};
atest::atest()
{
this->a=1;
}
atest::~atest()
{
this->a=0;
}
btest::btest()
{
this->a=1;
}
btest::~btest()
{
this->a=0;
}
int _tmain(int argc, _TCHAR* argv[])
{
atest *at=new btest();//构造函数调用顺序正确,调用了atest(),然后调用了btest()
delete at; //这里delete at,为什么只调用了atest::~atest()的析构函数,没有调用btest::~btest()析构函数呢???
Sleep(INFINITE);
return 0;
}
作者:
littledick
时间:
2014-08-14 18:35
虚构函数没有声明为虚函数
作者:
daxiguagg
时间:
2014-08-14 21:21
本帖最后由 daxiguagg 于 2014-08-14 21:28 编辑
我顶,???
作者:
ailure
时间:
2014-08-14 22:26
回复
3#
daxiguagg
为啥还有疑问呢?
析构函数不为虚, 就没法调用子类的析构函数了.
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2