【发布时间】:2014-11-13 22:41:50
【问题描述】:
我正在研究一个观察者模式项目,我的类似乎没有正确继承。我的 ObserverChild 类有一个函数更新,它采用 Observable* 类型的对象,见此处:
class ObserverChild : public Observer {
void update(Observable* o) {
// code here
}
}
我认为我的 UpperCaseMonitor 类继承正确
class UpperCaseMonitor : public Observable {
// implement class
}
当我遵守所有内容时,这就是我得到的错误:
monitor.cpp: In member function ‘virtual void UpperCaseMonitor::notify()’:
monitor.cpp:29:23: error: no matching function for call to ‘Observer::update(UpperCaseMonitor&)’
(*it)->update(*this);
*it 指的是我在 for 循环中使用的迭代器。有什么想法吗?
【问题讨论】:
标签: c++ inheritance design-patterns