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";
}