-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