C++中派生类如何使用基类中的数据成员

由于派生类中继承了基类的数据成员,我给派生类的成员赋值后,用get()函数调用基类中的相同的数据成员,结果返回值仍然是派生类的数据,这是怎么回事?... 由于派生类中继承了基类的数据成员,我给派生类的成员赋值后,用get()函数调用基类中的相同的数据成员,结果返回值仍然是派生类的数据,这是怎么回事? 展开
 我来答
yshcpu
推荐于2016-05-12 · TA获得超过563个赞
知道小有建树答主
回答量:618
采纳率:0%
帮助的人:445万
展开全部
派生类中继承了基类的数据成员,只有基类中的受保护或者公有数据成员在被进行保护或公有继承时才能被派生类访问到。基类的私有成员是不可能被派生类访问到的。你用get()函数访问基类中的相同的数据成员,但是派生类既然已经继承了基类,自然基类的数据成员也继承了,这时候你访问的派生类的成员(不是你派生之后又添加的成员)时,实际上访问的就是基类的成员啊。当然从实质上来看就是派生类的成员。
追问
但是我想访问的是基类的成员的数据啊,,,应该怎样修改呢?
追答
如果基类有保护数据成员A,而派生类继承了成员A,假设公有继承,并且派生类又添加了新的数据成员B,这个时候,A和B都已经成为了派生类的数据成员了,但是基类和派生类如果要对它们进行访问,就是要分别建立各自的对象,派生类的对象自然访问的就是A和B这两个其自身的数据成员了,但是他不能访问基类对象中的数据成员。因为它们是分属不同的类。你想访问的基类成员是指访问基类对象中的数据吧,这个肯定不行。
bhtzu
推荐于2018-03-09 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4073万
展开全部
如果你是派生类实例,这个结果是正确的,派生后会覆盖基类成员。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
woainibach
2013-04-10 · 超过12用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:8.4万
展开全部
代码看下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式