Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何通过c+;中的另一个类访问类中的数据+;?_C++_Class_Instance - Fatal编程技术网

C++ 如何通过c+;中的另一个类访问类中的数据+;?

C++ 如何通过c+;中的另一个类访问类中的数据+;?,c++,class,instance,C++,Class,Instance,假设有三个类A、B和C,它们的连接方式是A有一个对象实例到B,B有一个对象实例到C(A->B->C)。 每个类都有私有数据成员、getter和setter 如何从C类到a类获取值 代码示例: class C{ private: int q = 3; int w = 2; int e = 1; public: ... setters and getters ... } class B{ private: C objC; int x; int y;

假设有三个类A、B和C,它们的连接方式是A有一个对象实例到B,B有一个对象实例到C(A->B->C)。 每个类都有私有数据成员、getter和setter

如何从C类到a类获取值

代码示例:

class C{
private:
    int q = 3;
    int w = 2;
    int e = 1;

public:
... setters and getters ...
}

class B{
private:
    C objC;
    int x;
    int y;

public:
... setters and getters ...

}

class A{
private:
    B objB;
    int rows;
    int cols;

public:
  Board{

    if(objB.objC.getValOfQ() > 0){    //this is not working because objC is a private data member of class B
      ....
    }

  }
}
我应该在类B中编写一个getter函数来访问objC或类似的东西吗?如何为对象生成公共getter

以下是错误:

 'objC' is a private member of 'B' 

显然,您将无法直接访问
objC
,因为它是在
objB
中私自设置的


除了您提到的解决方案之外,还有一个简单的解决方案,它将取消将
objectB
设置为
private
的目的,将在
objB
中创建额外的getter函数,该函数将调用
objC
中相应的getter,而不是返回对象。

请生成一个并显示您得到的实际编译器错误消息。错误消息是:“objC”是“B”的私有成员,因此为
objC
创建一个公共getter?然后请将该信息添加到问题中,而不是作为注释。如何为对象创建公共getter tho?对不起,我是C++新手