课程
/后端开发
/C++
/C++远征之继承篇
为什么“soldiers.h”不能使用protected里的成员函数。infantry就可以调用了?
2016-03-17
源自:C++远征之继承篇 3-4
正在回答
soldier protected person ,infantry public soldier 也就是说 m-strname 是在类infantry的protected下,
首先你要明白什么是内部访问跟对象访问的概念,attack是派生类infantry的成员函数.attack函数当然可以打印出自己protected的成员了,不知道你有没有明白,你不明白的话,把视频反复看,最好把代码写下来了,理清思路。最重要的是你要理解内部访问跟对象访问的概念
秋霜枫叶 提问者
男人海洋liu 回复 秋霜枫叶 提问者
就是课程的最后为什么能编译成功啊。infantry是soldiers的子类,soldiers是person的子类。既然soldiers是protected继承的person,那infantry继承的也是person的protected下的成员,应该也没法调用啊。
你的问题有点模糊啊 你所指的protected是哪一个的类的protected
举报
继承,C++面向对象三大特征之一,通过编码实践方式讲解到操作层面
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号