4.5 派生类构造函数和析构函数的执行顺序举例

来源:互联网 发布:淘宝存在隐形降权吗 编辑:程序博客网 时间:2024/05/19 21:41
/* p1504.2.1 派生类构造函数和析构函数的执行顺序通常情况下,当创建派生类对象时,首先执行基类的构造函数,随后再执行派生类的构造函数;当撤销派生类对象时,则先执行派生类的析构函数,随后再执行基类的析构函数。下列程序的运行结果,反映了派生类的构造函数和析构函数的执行顺序*/// 4.5 派生类构造函数和析构函数的执行顺序举例。#include<iostream>using namespace std;class Base{  public:  Base(){         //基类构造函数        cout<<"Constructing base class -- 基类构造函数 \n";  }  ~Base(){        //基类析构函数  cout<<"Destructing base class -- 基类析构函数 \n";  }};class Derived:public Base{  public:  Derived(){      //派生类构造函数  cout<<"Constructing derived class -- 派生类构造函数"<<endl;  }  ~Derived(){     //派生类析构函数  cout<<"Destructing derived class -- 派生类析构函数"<<endl;  }};int main(){Derived obj;return 0;}/*从程序运行的结果可以看出:构造函数的调用严格地按照先调用基类的构造函数,后调用派生类的构造函数的顺序执行。析构函数的调用顺序与构造函数的调用顺序正好相反,先调用派生类的析构函数,后调用基类的析构函数。*/

阅读全文
0 0
原创粉丝点击