class Logger {
public:
static Logger & getInstance() {
return instance;
}
private:
Logger();
~Logger();
Logger(const Logger &other); //只声明, 不实现, 防止复制和赋值操作.
Logger& operator=(const Logger &other);
static Logger instance; //这里没有使用指针实现, 如果使用指针, 一定要使用auto_ptr, 因为普通指针在这里不会被释放内存, 只有程序结束后回收给系统, 但如果这个类持有一些资源, 如网络连接等, 到时就麻烦了.
};
#include "Logger.h"
#include <qDebug>
Logger Logger::instance; //***********这一句非常重要, 如果少了, 程序就会出错.
Logger::Logger() {
qDebug() << "Construct";
}
Logger::~Logger() {
qDebug() << "Destruct";
}