⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject.h

📁 在Windows和VxWorks平台下,观察者模式C++实用实现.
💻 H
字号:
////////////////////////////////////////////////
// Filename: Subject.h
// Function: 
// Author: ShaoxiongLi
// Date: 2008年8月28日
// Project: xxxMain
// Remarks:  	  
// History:  	 
////////////////////////////////////////////////



#if !defined( SUBJECT_H_ )
#define SUBJECT_H_

#include "AppObject.h"
#include <list>
using namespace std;


class AppObject;
class Observer;


typedef list< Observer * > ObserverList;

// 目标类
class Subject : public AppObject 
{

public:
	// 构造函数
	Subject( void );
	// 拷贝构造函数
	Subject( const Subject & rhsSubject );
	// 析构函数
	virtual ~Subject( void );

	// 添加观察者  
	void Attach( Observer & observer );
	// 删除观察者
	void Detach( Observer & observer );

	// 通知观察者
	void Notify( char * message, int msgLen );
	// 系统定时器
	void OnTimer( int nTimer );

private:
	// 判断是否重复注册
	bool RepeatAttach ( Observer & observer );

	ObserverList * m_observers;	

};


// !defined( SUBJECT_H_ )
#endif 

⌨️ 快捷键说明

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