c++继承构造析构调用原则以及特殊变量处理

一、继承中的构造析构调用原则

  1.子类对象在创建时会首先调用父类的构造函数

  2.父类构造函数执行结束后,执行子类构造函数

  3.当父类构造函数有参数时,需要在子类的初始化列表中显示调用;

  4.析构函数调用的先后顺序与构造函数相反

二、继承与组合混搭时,构造与析构的调用原则

  1.先构造父类,再构造成员变量,最后构造自己

  2.先析构自己,在析构成员变量,最后析构父类(先析构的对象,后释放)

三、继承中同名成员变量处理方法

  1、当子类成员变量与父类的成员变量同名时,子类依然从父类继承同名成员,且同名成员存储在不能的内存中,在子类中通过作用域分析符::进行同名成员区分,默认使用子类成员变量;

四、继承中,父类的static变量

  1.static函数也遵循3个访问原则

  2.static要初始化,告诉编译器分配内存;

  3.构造函数默认为private,被继承时定义对象会编译报错(单例时不会报错)

原文地址:https://www.cnblogs.com/jly594761082/p/10421642.html