c/c++语言开发共享C++继承中的对象构造与析构和赋值重载详解

一、构造/析构顺序及继承性结论:1.构造顺序:先构造基类,后构造派生类2.析构顺序:先析构派生类,后析构基类二、拷贝构造的继承性结论:1.先调用基类缺省的构造函数,后调用派生类的拷贝构造函数2.若派生

一、构造/析构顺序及继承性

C++继承中的对象构造与析构和赋值重载详解

结论:

1.构造顺序:先构造基类,后构造派生类

2.析构顺序:先析构派生类,后析构基类

二、拷贝构造的继承性

C++继承中的对象构造与析构和赋值重载详解

结论:

1.先调用基类缺省的构造函数,后调用派生类的拷贝构造函数

2.若派生类没有缺省构造函数a(),就会报错

疑惑:如何去调用基类的拷贝构造而不是缺省构造

C++继承中的对象构造与析构和赋值重载详解

结果:

将b类型src传递给a类型的a(const a& src)拷贝构造函数,发生了赋值兼容规则(切片现象)

三、赋值重载不具有继承性

C++继承中的对象构造与析构和赋值重载详解

结论:默认情况下仅仅调用了派生类的对象的赋值重载,并未调用基类的赋值重载。

解决方案:

C++继承中的对象构造与析构和赋值重载详解

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注<计算机技术网(www.ctvol.com)!!>的更多内容!     

需要了解更多c/c++开发分享C++继承中的对象构造与析构和赋值重载详解,都可以关注C/C++技术分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/1082594.html

(0)
上一篇 2022年4月24日
下一篇 2022年4月24日

精彩推荐