默认的派生方式说明为private,各种继承特点如下:
1。私有继承:私有继承的特点是基类中的公有成员和保护成员作为派生类中的私有成员,不能够被派生类的子类所访问。在私有继承方式下,基类中的公有成员和保护成员只能够被直接派生类访问,不能够由派生类的子类再继承。
2。公有继承:公有继承的特点是基类中的公有成员和保护成员作为派生类中的公有成员和保护成员,但基类中的私有成员仍然是私有的(不可继承)。在公有继承方式下,基类成员的访问权限在派生类中保持不变,公有派生类的对象可以访问基类中的公有成员和保护成员;派生类的成员函数可以访问基类中的公有成员和保护成员。
3保护继承:特点是基类中的公有成员和保护成员都作为派生类中的保护成员,基类中私有成员仍然是私有的。
各种继承方式的保护属性
父类成员属性 公有继承 保护继承 私有继承
private 不可继承 不可继承 不可继承
proteceted proteceted private private
public public proteceted private
构造函数静态成员友员关系 不可继承 不可继承 不可继承
虚基类,在多继承中有用。如果一个类的两个基类同时直接或者间接地从一个类继承,那么两个基类对前面的类的继承就应该使用虚基类继承,否则会引起二义性。如下所示:
class Container : public virtual MyBaseObject, public virtual Ownership