小编Rag*_*ghu的帖子

在C++继承中,当指向基类的指针对象指向派生类时,未调用派生类析构函数

我是新手,我知道这是一个非常基本的概念,也可能是重复的.一旦构造函数被调用,它的相应析构函数是否必须被调用,这不是真的吗?[代码在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)

c++ inheritance

4
推荐指数
1
解决办法
3672
查看次数

标签 统计

c++ ×1

inheritance ×1