c++ - 在 C++ 中,如何访问继承类中的私有(private)基成员变量?

标签 c++

class Foo {
private:
    string x;
};

class Bar : public Foo {
public:
    void get_data() {
        cin >> x;
    }
};

我不太明白为什么这行代码不起作用。能做到这一点不就是继承成员变量的目的吗?

最佳答案

这是不可能的。 private 表示变量的名称只能由该类(以及任何 friend)访问。

访问说明符protected 表示可被该类、派生类和 friend 访问。您可以使 x 受到保护,或者将 get_data() 移动到 Foo 的公共(public)部分。

关于c++ - 在 C++ 中,如何访问继承类中的私有(private)基成员变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40392701/

相关文章:

c++ - 数组中的多线程写操作

c++ - 忽略由第 3 方 header 引起的 [clang-diagnostic-error] clang-tidy

c++ - 在实时视频上检测 SURF 点

c++ - Boost.Bind 返回类型

c++ - 函数式编程在 C++1z 中每三分之一递增整数序列?

c++ - 使用 C++ 和 ffmpeg 从 mp2 流中提取 KLV 数据

c++ - 在哪里可以获得有关 Visual Studio 中 C/C++ 链接器的信息?

c++ - 版本控制 : multiple version hell, 文件同步

c++ win32 相对于桌面的位置

c++ - 为什么 C++20 中的 std::move 不是 [[nodiscard]]?