#include <iostream>
using namespace std;
class Animal
{
public:
Animal()
{
cout<<"Animal123"<<endl;
}
~Animal()
{
cout<<"Animal321"<<endl;
}
};
class Fish : public Animal
{
public:
Fish()
{
cout<<"Fish123"<<endl;
}
~Fish()
{
cout<<"Fish321"<<endl;
}
};
void main()
{
Fish fh;
getchar();
}
最后我的输出为:
Animal123
Fish123
为什么析构函数的内容没办法输出啊?
------解决方案--------------------------------------------------------
局部变量的析构函数是在该变量离开其作用域的时候被调用的,getchar被调用的时候还没有离开fh的作用域,所以其西沟函数不会被调用。
------解决方案--------------------------------------------------------
void main()
{
Fish fh;
getchar();
}
///////////
改成:
void main()
{
{
Fish fh;
}
getchar();
}