本文介绍了多态性和受保护的帮助的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我在理解衍生类为什么不能通过以下代码访问基类的受保护成员时遇到一些麻烦:

#include< stdio.h>


班级CBase

{

受保护:

int x;

public:

CBase(){x = 123;}

public:

operator int(){return x;}

};


class CDerived:public CBase

{

public:

CDerived()

{

CBase * p = this;

p- > x = 456; //错误:无法访问受保护的成员

}

};


void main()

{

printf(" CBase =%d \ nCDerived =%d \ n",CBase(),CDerived());

}

我不明白为什么CDerived不能访问整数x在

CBase没有让CBase宣布CDerived为朋友。可以有人

向我解释为什么会这样?谢谢。

解决方案




实际上,常见问题解答也回答了这个问题。

-

<的mailto:二*********** @ yahoo.com> < http://www.dietmar-kuehl.de/>

< http://www.contendix.com> - 软件开发&咨询







Actually, this question is also answered in the FAQ.
--
<mailto:di***********@yahoo.com> <http://www.dietmar-kuehl.de/>
<http://www.contendix.com> - Software Development & Consulting






这篇关于多态性和受保护的帮助的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-17 20:59