-1
这里是我的代码:混乱,当谈到传承范围
class Base{
public:
getValue(int a){
x = a;
}
protected:
int x;
};
class Derived: public Base{
public:
Derived():Base(){
Value = 0;
}
void Function();
}
所以我的困惑来自于继承时,你必须设置在派生功能Base
功能的范围,在谷歌它说一切在基类中变得公开。如果是这种情况,那么Derived
函数中的Base
函数中的受保护值是否可以轻松访问?这不是很糟糕吗?
如果是这种情况,那么在派生类中保护来自基类的受保护值没有办法。
*“在谷歌它说,一切都在基类成为公共。” * - 它的错。不要总是相信谷歌,那里有很多C++错误的东西。请参见[私有,公共和受保护的继承之间的区别](http://stackoverflow.com/questions/860339/difference-between-private-public-and- protected-inheritance?rq = 1)。 – WhiZTiM
顺便说一句,它不叫*“范围”*,*“范围”*是关于别的东西。您的主题以[*“会员访问规范*”(http://en.cppreference.com/w/cpp/language/access)为主题) – WhiZTiM