3个类别之间的关联

associations between 3 classes

本文关键字:关联 之间 3个      更新时间:2023-10-16

我有两个类A,B如下:

class A{
public:
   int size;
   A(int s){size=s;}
};
class B{
B(int d):A(d){}
};

我需要知道如何定义另一个类,类C,这样类B可以更新类A中的大小(或任何值),但类C可以访问类A中更新的值。

我希望我能正确理解它,但在我看来,你可以从A继承C,这样你就可以在它更新时访问它的数据。或者,您可以创建类型为a类的C的数据成员,并在a中实现getter,并在必要时从C调用。例如:

class C {
private:
    A a;
public:
    void foo() {
        a.getSize();
    }
}

希望能有所帮助!

simple,编写另一个继承自class B的类class C。因此class B也可以访问class A的数据成员。您可以使用公共/受保护或私有继承。但是class B:class A应该仅是公共的/受保护的。

然后在class B中写入set方法(这样类B可以更新大小),并在class C中获取方法(类C可以访问类A中更新的值)。

您应该创建一个指针并相应地键入大小写。

您可以使用singleton模式来维护单个对象(实例)。这取决于你们的要求。