派生类构造函数和析构函数的执行顺序
生活随笔
收集整理的这篇文章主要介绍了
派生类构造函数和析构函数的执行顺序
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
派生类继承了基类的成员,实现了代码的重复利用,但基类的构造函数和析构函数不能被继承。如果在派生类中需要对新增加的成员进行初始化,则需要加入派生类的构造函数。同样派生类也需要添加析构函数来实现一些结束工作。 当创建对象时,编译系统会自动调用构造函数。当撤销对象时,编译系统会自动调用析构函数。当创建派生类的对象时,首先执行基类的构造函数,然后执行派生类的构造函数。当撤销对象时,则先执行派生类的析构函数,然后再执行基类的析构函数。 例子: #include"iostream.h" class A //定义一个类 { public: A() //类的构造函数 { cout<<"基类的构造函数"<<endl; } ~A() //类的析构函数 { cout<<"基类的析构函数"<<endl; } }; class B:public A //派生类 { public: B() //派生类的构造函数 { cout<<"派生类的构造函数"<<endl; } ~B() //派生类的析构函数 { cout<<"派生类的析构函数"<<endl; } }; void main() { B p; //派生类的对象 } 输出: 基类的构造函数 派生类的构造函数 派生类的析构函数 基类的析构函数当类内包含其他对象时,将这个类对象叫做内含类对象,该对象的初始化工作必须放在构造函数的初始化列表中,内含类对象和包含它的类对象的构造函数顺序是:先是内含类的构造函数,然后是外部类的构造函数。
转载于:https://blog.51cto.com/luisliu/226618
总结
以上是生活随笔为你收集整理的派生类构造函数和析构函数的执行顺序的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: documentum中的Fulltext
- 下一篇: 冬天了,麦克风/话筒 有杂音 的原因!