单例模式的作用是保证一个类仅有一个实例,并且提供一个访问它的全局访问点,这个实例被所有程序模块共享。
实例的实现方法是:定义一个单例类,使用类的私有静态指针变量指向类的唯一实例,并用一个公有的静态方法获取该类。
代码片段如下:
Class at_file_service
{
public:
at_file_service();
virtual ~at_file_service();
static at_file_service *get_at_file_service()
{
static at_file_service *pAtFileService = NULL;
if(NULL == pAtFileService)//判断是否为第一次调用
{
pAtFileService = new at_file_service();
}
return pAtFileService;
}
......//定义其他的函数。
int func1(void);
}
用户访问唯一实例的方法只有get_at_file_service()函数,如果不通过这个函数,任何创建实例的代码都不会成功。