3个类别之间的关联
associations between 3 classes
我有两个类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模式来维护单个对象(实例)。这取决于你们的要求。
相关文章:
- C++中std::resize(n)和std::shrink_to_fit之间的区别
- int(c) 和 c-'0' 之间的区别。C++
- 在cuda线程之间共享大量常量数据
- 在c代码之间共享数据的最佳方式
- Mix_Init和Mix_OpenAudio SDL之间的区别是什么
- C++ 使用 assign 函数的字符串与直接使用 '=' 更改值的字符串之间的区别
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- std::atomic和std::condition_variable wait,notify_*方法之间的区别
- 大小相等但成员数量不同的结构之间的性能差异
- 类与私有变量的其他类之间的线程安全性
- 如何在cpp文件之间切换窗口?在Qt中
- 线程之间的布尔停止信号
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 在 const 函数中通过引用和指针返回之间的区别
- 我想知道长双倍和双倍之间的区别
- 如何防止clang格式在流运算符调用之间添加换行符<<
- 群集和点之间的关联
- 3个类别之间的关联
- 其中是程序集和cpp代码之间的一对一关联
- 两个类之间的双向关联