这是我代码的“模拟”:
#include <string>
#include <iostream>
using namespace std;
class A
{
protected:
int test = 10;
};
class C;
class B : public A
{
private:
C *c;
public:
B();
};
class C
{
public:
C(B *b) {
cout << b->test;
}
};
B::B() {
c = new C(this);
}
int main()
{
B();
}
那个 test
变量的状态类型是 protected
,我无法接触它,因为它来自另一个框架并且我没有真正的“访问”。
我需要创建一个类 C 的实例,从 B 传递参数并从 C 访问 A 的参数 test
。
有没有更好的方法?在 B 中,我可以毫不费力地使用 test...
B
中添加int getTest(){ return test;}
。 - 463035818_is_not_a_numberB
中定义一个公共的getter,返回对A
成员的引用。 - NathanOliver