摘要:
如果一个派生类从多个基类派生,而这些基类又有一个共同的基类,则在对该基类中声明的名字进行访问时,可能产生二义性 如果在多条继承路径上有一个公共的基类,那么在继承路径的某处汇合点,这个公共基类就会在派生类的对象中产生多个基类子对象 要使这个公共基类在派生类中只产生一个子对象,必须对这个基类声明为虚继承 阅读全文
摘要:
1、当子类成员变量与父类成员变量同名时 2、子类依然从父类继承同名成员 3、在子类中通过作用域分辨符::进行同名成员区分(在派生类中使用基类的同名成员,显式地使用类名限定符) 4、同名成员存储在内存中的不同位置 #include <iostream> using namespace std; cla 阅读全文
摘要:
继承中构造析构调用原则: 1、子类对象在创建时会首先调用父类的构造函数 2、父类构造函数执行结束后,执行子类的构造函数 3、当父类的构造函数有参数时,需要在子类的初始化列表中显示调用 4、析构函数调用的先后顺序与构造函数相反 继承和组合并存,构造和析构原则: 1. 先构造父类,再构造成员变量、最后构 阅读全文
摘要:
类型兼容规则是指在需要基类对象的任何地方,都可以使用公有派生类的对象来替代。通过公有继承,派生类得到了基类中除构造函数、析构函数之外的所有成员。这样,公有派生类实际就具备了基类的所有功能,凡是基类能解决的问题,公有派生类都可以解决。 类型兼容规则中所指的替代包括以下情况: (1)父类指针可以直接指向 阅读全文