一、前言
- 多个基类继承
- 多个基类继承出现成员名重复解决办法(包含不改动原程序)
- 虚继承(子类继承多个基类,多个基类又是同一个基类的派生类):解决基类重复继承产生的问题
二、正文
2.1 多个基类继承
//注意该公式有部分问题,后续会解决
class A {
public:
int getVal() {
return 100;
}
int aVal {10};
};
class B {
public:
int getVal() {
return 13;
}
int aVal {110};
};
class C : public A, public B {
};
int main() {
C c;
std::cout << c.getVal() << " " << c.aVal << std::endl;
return 0;
}
继承,也跟普通成员类型一样有三种
public 公有:子类和非子类都可以调用(public 继承,将保留父类中的除 private 类的所有 public 和 protected 成员并且不改变这些成员的原本属性,即 父类 protected 类型,这个成员在子类也是 protected)
private 私有: 除了类本身之外不允许外界调用且不允许继承 (private 继承,所有父类非 private 类成员都变成子类的 private 类成员)(没有任何特殊情况下,应该首选是私有继承)
protecte