C++ 基类中的保护成员在其派生类中可以访问,而派生类对象不可访问。

 我来答
gnwangjing
2011-11-11 · 超过30用户采纳过TA的回答
知道答主
回答量:121
采纳率:0%
帮助的人:61.3万
展开全部
有这回事吗?我也是C++初学者,不过我想派生类对象作为派生类的实例,应该具有与派生类相同的功能吧。那么,派生类定义中能做的事,派生类对象差不多也能做吧。不过呢,看看编译器是怎么做的才行。如果在派生类中用到了基类的保护成员,那么派生类对象应该就能访问吧。但若是没用到,嘿嘿,编译器就可以把无用的东西去掉了,于是,在派生类对象中就没有访问基类保护成员的概念,于是虽然有指向基类实例的指针,但又怎么通过这个指针能访问到其中的保护成员呢?这方面的信息编译器是知道的,但是它不用,这就是语法呀(需要基类实例指针+位移),就访问不了了。可是偏偏又可以让编译器不做出这样的规则,那么派生类对象就拥有了基类的所有信息,那么啥都可以访问了。其实,起关键作用的还是C++语言的规范,编译器也是按规范办事。不过呢,偏偏我也是菜鸟,不懂得规范,所以就不知道规范上对这种情况是怎样的规定了。
549173805
2011-11-11
知道答主
回答量:11
采纳率:0%
帮助的人:12.5万
展开全部
保护成员不能通过对象,在外部进行访问;在外部用对象直接访问的函数接口必须为public类型,但是类内的函数内部是可以相互调用的,protect和private起到了良好的保护,使得类更安全;类和对象的关系,LZ应该注意一下,对象只是类的实例化。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
头好舞05
2011-11-11 · TA获得超过2097个赞
知道小有建树答主
回答量:797
采纳率:100%
帮助的人:490万
展开全部
在类外,你可以把保护成员和私有成员一样看待。
在类内部,你可以访问基类保护成员,不可以访问基类私有成员。
公有成员则是暴露的,随时处在风口浪尖之中。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友50962bc
2017-11-14
知道答主
回答量:1
采纳率:0%
帮助的人:920
引用13517730297的回答:
在类外,你可以把保护成员和私有成员一样看待。
在类内部,你可以访问基类保护成员,不可以访问基类私有成员。
公有成员则是暴露的,随时处在风口浪尖之中。
展开全部
在派生类类内的成员函数中,如果有派生类实例对象的引用或者指针。可以通过该引用或指针来访问基类的protected成员
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式