C++:基类析构函数为虚函数场景

来源:互联网 发布:a50指数交易软件 编辑:程序博客网 时间:2024/05/16 03:22
主题:类的构造函数和析构函数01 继承类构造和析构时,遵循如下原则   1)构造时,先调用基类构造,然后调用继承类构造   2)析构时,先调用继承类析构,然后调用基类析构//注:在不涉及类指针操作时,基类的析构和构造不必为virtual虚函数02 基类指针指向继承类对象,此时主动释放基类指针指向的对象时,按如下操作。   1)基类析构函数是虚函数,则先调用继承类析构函数,然后调用基类析构   2)基类析构函数是普通函数,则只调用基类析构函数
示例:#include <iostream>using namespace std;class A{public:    A()    {       cout<<"A construct"<<endl;    }    ~A()    {       cout<<"A desconstruct"<<endl;    }};class  B:A{    B()    {       cout<<"B construct"<<endl;    }    ~B()    {       cout<<"B desconstruct"<<endl;    }}void CS01(){    B * pB = new B();    A * pA = (A*)pB;    delete pA;}int main(char argc,char ** argv){    CS01();    return 0;}//注:输出如下>>A construct>>B construct>>A desconstruct
0 0
原创粉丝点击