![](/img/trans.png)
[英]C++ public method inherited from base class can not access private member variable in derived class
[英]In C++ how do I access a private base member variable in an inherited class?
class Foo {
private:
string x;
};
class Bar : public Foo {
public:
void get_data() {
cin >> x;
}
};
我不太明白為什么這行代碼不起作用。 這樣做不是為了繼承成員變量嗎?
這是不可能的。 private
表示變量的名稱只能由該類(和任何friend
)完全訪問。
protected
的訪問說明符意味着該類,派生類和朋友可以訪問。 您可以使x
protected
,也可以將get_data()
移到Foo
公共部分。
private
從子類中隱藏。 只有friend
的(和Foo
本身)可以訪問它。 也許您希望x
得到protected
?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.