簡體   English   中英

在C ++中,如何在繼承的類中訪問私有基本成員變量?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM