1. 包含了iostream和list头文件。
  2. 使用了命名空间std。
  3. 声明了Object和Observe类。
  4. Observe类的定义开始。
  5. 构造函数,初始化m_pObj为nullptr。
  6. careObj函数,用于设置m_pObj指针指向的对象。
  7. 纯虚函数update,子类需要实现该函数。
  8. protected保护成员变量m_pObj,指向被观察的对象。
  9. Object类的定义开始。
  10. addObserve函数,向m_lst列表中添加观察者。
  11. delObserve函数,从m_lst列表中移除观察者。
  12. notify函数,通知所有观察者进行更新。
  13. int类型的状态变量state。
  14. 存储观察者的列表m_lst。
  15. Student类的定义开始,继承自Observe类。
  16. 构造函数,初始化m_pObj指针。
  17. update函数,根据被观察对象的状态进行不同的操作。
  18. Teacher类的定义开始,继承自Object类。
  19. main函数的开始。
  20. 创建Teacher对象jack。
  21. 创建Student对象tom,将tom的被观察对象设置为jack。
  22. 创建Student对象zs。
  23. 将zs的被观察对象设置为jack。
  24. 调用jack的addObserve函数,将tom添加为观察者。
  25. 调用jack的addObserve函数,将zs添加为观察者。
  26. 将jack的状态设为1。
  27. 调用jack的delObserve函数,将zs从观察者列表中移除。
  28. 调用jack的notify函数,通知所有观察者进行更新。
  29. 返回0,表示程序正常结束
#include iostream#include listusing namespace std;class Object;class Observepublic	ObserveObject obj = nullptr m_pObjobj 	void careObjObject obj 		m_pObj = obj;		virtual void update = 0;protected	Obj

原文地址: http://www.cveoy.top/t/topic/iSgU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录