第十一周阅读程序5:基类与派生类的构造函数与析构函数

来源:互联网 发布:淘宝加热管 编辑:程序博客网 时间:2024/06/05 16:24

问题及代码:

#include <iostream>using namespace std;class A{public:    A()    {        cout<<"A";    }    ~A()    {        cout<<"~A";    }};class B :public A{    A *p;public:    B()    {        cout<<"B";        p=new A();    }    ~B()    {        cout<<"~B";        delete p;    }};int main(){    B obj;    return 0;}
运行结果:



知识点总结:

创建一个B类的对象,先执行基类A的构造函数  输出A;  

然后执行自己的构造函数,输出B;

在构造函数内,又new了个对象A;所以执行A的构造函数,输出A;

然后结束,析构函数,先析构派生类  输出~B;

析构new的对象A;输出~A;

析构基类;输出~A;



0 0