我是新手,我知道这是一个非常基本的概念,也可能是重复的.一旦构造函数被调用,它的相应析构函数是否必须被调用,这不是真的吗?[代码在Dev C++上运行]
class Base
{
public:
Base() { cout<<"Base Constructor\n";}
int b;
~Base() {cout << "Base Destructor\n"; }
};
class Derived:public Base
{
public:
Derived() { cout<<"Derived Constructor\n";}
int a;
~Derived() { cout<< "Derived Destructor\n"; }
};
int main () {
Base* b = new Derived;
//Derived *b = new Derived;
delete b;
getch();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
提供输出
Base Constructor
Derived Constructor
Base Destructor
Run Code Online (Sandbox Code Playgroud)