c++ - 如何访问对象的私有(private)成员?

标签 c++ oop private public

假设我有一个类,其中包含一个成员对象:

class Class1
{
    private:
        Class2 anObject;
}

另一个类中还有一个整型变量和一个访问器:

class Class2
{
    private:
        int aVariable;
    public:
        int getAVariable()
        {
             return aVariable;
        }
}

从 main 访问 aVariable 的最佳方式是什么?

例如,如果 anObject 被声明为公共(public)而不是私有(private),我可以在 main 中执行此操作:

int main()
{
    Class1 Class1Object;
    cout << Class1Object.anObject.getAVariable() << '\n';
}

但是如果 anObject 保持私有(private),我该怎么做?

最佳答案

在类 1 中获取所需对象的公共(public) getter。

public:
    Class2 getObject()
    {
         return anObject;
    }

然后你就可以做

 int main()

{
Class1 Class1Object;
cout << Class1Object.getObject().getAVariable() << '\n';
}

关于c++ - 如何访问对象的私有(private)成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20533139/

相关文章:

c++ - 我的 findContours() 函数在具有不同 dpi 的图像上表现异常

oop - OO原理: c#: design to interface and not concrete classes

oop - Fortran,(1) 处的终结尚未实现

C++ 访问说明符

java - 为什么外部 Java 类可以访问内部类私有(private)成员?

c++ - 由于 cout,GCC 4.8.2 自动矢量化失败

c++ - 如何在QT画笔中设置不透明度

c++ - 使用 Azure C++ SDK 设置元数据

java - 在java中父类(super class)类型的数组中创建子类对象

c++ - 转换运算符绕过派生类型的构造函数并跳到基类型的复制初始化?