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

为什么“soldiers.h”不能使用protected里的成员函数。infantry就可以调用了?

为什么“soldiers.h”不能使用protected里的成员函数。infantry就可以调用了?


正在回答

3 回答

soldier  protected  person   ,infantry  public soldier  也就是说 m-strname 是在类infantry的protected下,

首先你要明白什么是内部访问跟对象访问的概念,attack是派生类infantry的成员函数.attack函数当然可以打印出自己protected的成员了,不知道你有没有明白,你不明白的话,把视频反复看,最好把代码写下来了,理清思路。最重要的是你要理解内部访问跟对象访问的概念

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

秋霜枫叶 提问者

非常感谢!
2016-03-21 回复 有任何疑惑可以回复我~
#2

男人海洋liu 回复 秋霜枫叶 提问者

你明白了吗?很乐意为你效劳。
2016-03-22 回复 有任何疑惑可以回复我~

就是课程的最后为什么能编译成功啊。infantry是soldiers的子类,soldiers是person的子类。既然soldiers是protected继承的person,那infantry继承的也是person的protected下的成员,应该也没法调用啊。

0 回复 有任何疑惑可以回复我~

你的问题有点模糊啊  你所指的protected是哪一个的类的protected

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

秋霜枫叶 提问者

就是课程的最后为什么能编译成功啊。infantry是soldiers的子类,soldiers是person的子类。既然soldiers是protected继承的person,那infantry继承的也是person的protected下的成员,应该也没法调用啊。
2016-03-17 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

为什么“soldiers.h”不能使用protected里的成员函数。infantry就可以调用了?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号