C++ 如何通过c+;中的另一个类访问类中的数据+;?
假设有三个类A、B和C,它们的连接方式是A有一个对象实例到B,B有一个对象实例到C(A->B->C)。 每个类都有私有数据成员、getter和setter 如何从C类到a类获取值 代码示例: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;
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++新手