C++学习笔记14,privateprotectedpublic继承,私有继承,保护继承,公有继承(五)(总结)


各种继承方式:

特征 公有继承 保护继承 私有继承
公有成员变为 派生类的公有成员 派生类的保护成员 派生类的私有成员
保护成员变为 派生类的保护成员 派生类的保护成员 派生类的私有成员
私有成员变为 只能通过基类接口访问 只能通过基类接口访问 只能通过基类接口访问
能否隐式向上转换 能(但只能在派生类中) 不能

要点:

对于公有继承:基类的protected和public成员都是可见的。并且,使用公有继承,基类的公有成员将变为派生类的公有成语,基类的保护成员将变成派生类的保护成员,基类的私有成员将变为派生类的私有成员。

对于保护继承:使用保护继承时,基类的公有成员和保护成员都会变成派生类的保护成员。这就是保护继承和公有继承的最主要区别。

对于私有继承:私有继承时,基类的公有成员和保护成员都将成为派生类的私有成员!也就是说,使用私有继承时,第三代继承类将不能使用基类的接口(即public类成员),私有继承和保护继承的区别正是在此!

 


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注