subject.h

来自「23中设计模式大家都应该知道吧」· C头文件 代码 · 共 37 行

H
37
字号
//Subject.h
#ifndef _SUBJECT_H_
#define _SUBJECT_H_

#include <list> 
#include <string> 
using namespace std;

typedef string State;

class Observer;
class Subject 
{ 
public: 
	virtual ~Subject();
	virtual void Attach(Observer* obv);
	virtual void Detach(Observer* obv);
	virtual void Notify();
	virtual void SetState(const State& st) = 0;
	virtual State GetState() = 0;
protected: 
	Subject();
private: 
	list<Observer* >* _obvs;
};

class ConcreteSubject:public Subject 
{ 
public: 
	ConcreteSubject();
	~ConcreteSubject();
	State GetState();
	void SetState(const State& st);
protected:
	private: State _st;
};
#endif //~_SUBJECT_H_

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?