为了账号安全,请及时绑定邮箱和手机立即绑定

B类从A类公共派生,能调用到A的公共及保护限定符下的成员函数对吗?不应该是只能调用的A的公共限定符下的成员函数吗?

B类从A类公共派生,能调用到A的公共及保护限定符下的成员函数对吗?不应该是只能调用的A的公共限定符下的成员函数吗?

正在回答

1 回答

不同继承方式的影响主要体现在:

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成员的性质相同。既实现了数据隐藏,又方便继承,实现了代码重用。



3 回复 有任何疑惑可以回复我~
#1

幕布斯9539579 提问者

谢谢!
2019-10-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之继承篇
  • 参与学习       75222    人
  • 解答问题       249    个

继承,C++面向对象三大特征之一,通过编码实践方式讲解到操作层面

进入课程

B类从A类公共派生,能调用到A的公共及保护限定符下的成员函数对吗?不应该是只能调用的A的公共限定符下的成员函数吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信