B类从A类公共派生,能调用到A的公共及保护限定符下的成员函数对吗?不应该是只能调用的A的公共限定符下的成员函数吗?
B类从A类公共派生,能调用到A的公共及保护限定符下的成员函数对吗?不应该是只能调用的A的公共限定符下的成员函数吗?
B类从A类公共派生,能调用到A的公共及保护限定符下的成员函数对吗?不应该是只能调用的A的公共限定符下的成员函数吗?
2019-08-22
不同继承方式的影响主要体现在:
1、派生类成员对基类成员的访问控制。
2、派生类对象对基类成员的访问控制。
三种继承方式:
1、公有继承(public)
① 基类的public和protected成员的访问属性在派生类中保持不变,但基类的private成员不可访问。
② 派生类中的成员函数可以直接访问基类中的public和protected成员,但不能访问基类的private成员。
③ 通过派生类的对象只能访问基类的public成员。
2、私有继承(private)
① 基类的public和protected成员都以private身份出现在派生类中,但基类的private成员不可访问。
② 派生类中的成员函数可以直接访问基类中的public和protected成员,但不能访问基类的private成员。
③ 通过派生类的对象不能访问基类中的任何成员。
3、保护继承(protected)
① 基类的public和protected成员都以protected身份出现在派生类中,但基类的private成员不可访问。
② 派生类中的成员函数可以直接访问基类中的public和protected成员,但不能访问基类的private成员。
③ 通过派生类的对象不能访问基类中的任何成员。
protected成员的特点与作用:
对建立其所在类对象的模块来说(水平访问时),它与private成员性质相同。对于其派上类来说(垂直访问时),它与public成员的性质相同。既实现了数据隐藏,又方便继承,实现了代码重用。
举报