C++ 在对象之间设置和获取变量,而不引用它们
我有很多对象彼此不知道,但我需要在它们之间交换数据(C++ 在对象之间设置和获取变量,而不引用它们,c++,oop,C++,Oop,我有很多对象彼此不知道,但我需要在它们之间交换数据(set和get这些对象的变量)。 我该怎么做? 我研究了观察者设计模式,但似乎只有当观察到的数据在这些类之间相似时,才可以使用该模式 换言之,这可以通过以下方式实现: void ObjectB::setVarA(ObjectA &objectA) { objectA.setVar(15); } 但是没有传递&对象 观察者设计模式正是您想要的。你可以让你的物体可见,并且有一个观察者可以控制它们。对于不同的对象,可以使用不同的观察
set
和get
这些对象的变量)。我该怎么做?
我研究了
观察者设计模式
,但似乎只有当观察到的数据在这些类之间相似时,才可以使用该模式
换言之,这可以通过以下方式实现:
void ObjectB::setVarA(ObjectA &objectA) {
objectA.setVar(15);
}
但是没有传递&对象
观察者设计模式正是您想要的。你可以让你的物体可见,并且有一个观察者可以控制它们。对于不同的对象,可以使用不同的观察者,以便:
似乎只有当这些类之间的观测数据相似时,才能使用该模式
这是一种误解。检查和
您可以根据不同的操作通知观察者。例如,当obj1的“名称”属性更改时,您可以通知观察者;当obj2的“日期”属性更改时,您可以再次通知观察者 如果对象彼此不知道,并且您希望保持这种状态,那么您可以按如下方式创建同时知道这两个对象的函数:
void SetObjectBVarA(常量ObjectA和ObjectA、ObjectB和ObjectB)
{
setVarA(objectA.getVarA());
}