C++中类在继承时,派生类必须声明自己的构造函数。派生类在调用构造函数时,会根据初始化列表先调用父类的构造函数,如果初始化列表为空,则会调用父类的默认构造函数。而调用析构函数时,则会先调用派生类的析构函数,再调用父类的析构函数。
#include<iostream> using namespace std; class Solution { public: Solution() {cout << 1 << endl;} Solution(int a) {cout << 2 << endl;} Solution(const Solution& a) { cout << 3 << endl; } ~Solution() { cout << 4 << endl; } }; class Copy: public Solution{ public: Copy() { cout << 11 << endl; } Copy(int a) :Solution(a) { cout << 22 << endl; } Copy(const Copy& a) :Solution(a) { cout << 33 << endl; } ~Copy() { cout << 44 << endl; } }; int main() { Copy a; Copy b(1); Copy c(b); return 0; }
原文链接: https://www.cnblogs.com/airfy/p/12597463.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/338806
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!