基于单例模式的日志输出
####什么是单例模式?####
单例模式就是保证一个类只有一个实例,并提供一个访问它的全局访问点。
首先,需要保证一个类只有一个实例;在类中,要构造一个实例,就必须调用类的构造函数,如此,为了防止在外部调用类的构造函数而构造实例,需要将构造函数的访问权限标记为protected或private;最后,需要提供要给全局访问点,就需要在类中定义一个static函数,返回在类内部唯一构造的实例。
下边就是一个常见的单例模式程序例子:
class Singleton
{
private:
Singleton(){}
~Singleton(){}
static Singleton *pInstance;
public:
static Singleton *GetInstance()
{
if (pInstance == NULL) //判断是否第一次调用
{
pInstance = new Singleton ();
}
return pInstance;
}
};
基于单例模式的日志输出####
需求:使用单例模式写一个日志输出,输出日志文件为当天日期名如20180831,输出日志格式为[08/31/18 12:22:30 loginxxxxxx]