【发布时间】:2023-03-06 09:04:01
【问题描述】:
我正在尝试将观察者模式用于一些输入内容,例如:
class Observer
{
public:
virtual void notify(Subject & o)=0;
};
class Subject
{
public:
virtual void register(Observer * o)=0;
}
我有两个具体的主题(鼠标、键盘),以及我希望具体观察者调用的类特定函数(getkeypress、getmousemotion 等)。
有没有办法在具体观察者类中专门化通知函数而不改变接口或向下转换引用?我尝试过重载该函数,但显然这不起作用,因为具体的 Subjects 不知道派生的 Observers。
【问题讨论】:
标签: c++ observer-pattern