多重继承的派生类的构造函数初始值只能初始化它的直接基类
派生类的构造函数初始化列表将实参分别传递给每个直接基类,其中基类的构造顺序与派生列表中基类的出现顺序保持一致,而与派生类构造函数初始化列表中基类的顺序无关。
类型转换与多个基类
编译器不会在派生类向基类的几种转换中进行比较和选择,因为在它看来转换到任意一种基类都一样好,所以要避免二义性。
void print(const Bear&);
void print(const Endangered&);
Panda yangyang("yangyang");
print(yangyang);//二义性错误,不知道就panda对象转为哪一个基类
多重继承下的类作用域
当一个类拥有多个基类时,有可能出现派生类从两个或更多基类中继承了同名成员的情况,此时,不加前缀限定符直接使用该名字将引发二义性。
原文地址:http://www.cnblogs.com/ljygoodgoodstudydaydayup/p/3844851.html