c++ 子类class 公有继承父类class,在子类中为什么可以访问父类的默认私有成员

我用的VS2010MFC,这两个类没有建立友元关系... 我用的VS2010 MFC,这两个类没有建立友元关系 展开
 我来答
星语最萌
2017-03-02 · TA获得超过691个赞
知道小有建树答主
回答量:484
采纳率:65%
帮助的人:62.9万
展开全部
不可以访问的,你说的是protected保护成员吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hatianxiao
2017-03-02 · TA获得超过2047个赞
知道大有可为答主
回答量:2295
采纳率:77%
帮助的人:1278万
展开全部
你确定你不是重新使用了那些基类中私有变量的名字?即类似这样的:
class A{
int i;

};
class B:public A{
int i;

};
更多追问追答
追问
不是这样的,子类中并没有同名变量
追答
我只能说一般访问父类的私有变量都是通过获取地址,然后指针跳转的,或者就是最普通的可以调用的接口。
对你的情况,我没有使用过MFC,你可以测试简单的例子,看看其类内成员的访问权限是默认什么(或者你上面定义的那个宏的原因?就是那个DECLARE什么的),而且一般要所在类的类外访问数据成员时应该通过函数接口,所以你的这个设计就很不好了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
莫北91
2017-03-02 · TA获得超过125个赞
知道答主
回答量:160
采纳率:100%
帮助的人:45.8万
展开全部
贴代码看看,我这不能访问。
更多追问追答
追问

编译通过。

追答
第三段不能看出来是子类直接访问。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式