我有两个A,B类如下:
class A{
public:
int size;
A(int s){size=s;}
};
class B{
B(int d):A(d){}
};
我需要知道如何定义另一个类C类,因此B类可以更新A类中的大小(或任何值),但C类可以访问A类中的更新值。
答案 0 :(得分:1)
我希望我能正确理解它,但在我看来,你可以从A继承C,这样你就可以在更新时访问它的数据。或者,您可以创建类型为A的C的数据成员,并在A中实现getter并在必要时从C调用。例如:
class C {
private:
A a;
public:
void foo() {
a.getSize();
}
}
希望有所帮助!
答案 1 :(得分:0)
简单,写一个继承自class C
的另一个类class B
。
因此,class B
也可以访问class A
数据成员。您可以使用公共/受保护或私有继承。但class B:class A
应该只是公开/受保护。
然后在class B
中编写set方法(因此B类可以更新大小)并获取class C
中的方法(C类可以访问A类中的更新值)。
您应该创建一个指针并相应地键入大小写。
OR
您可以使用单例模式来维护单个对象(实例)。这取决于您的要求。