挺喜欢这个例子,Mark一下。
Warning.h 头文件
#ifndef _WARNING_H_
#define _WARNING_H_
#include <string>
class Warning
{
public: // enum struct default
protected:
private:
public: // method
Warning();
virtual ~Warning();
static Warning* getInstance(void);
static void deleteInstance(void);
void initialize(void);
void updateWarning(void);
void setWarningId(int id);
int getWarningId(void) { return warningId; }
private: // method
protected: // method
private: // property
static Warning * mInstance;
int warningId;
int warningState;
};
#endif
Warning.cpp 源文件
#include "Warning.h"
Warning* Warning::mInstance = NULL;
Warning::Warning()
{
initialize();
}
virtual Warning::~Warning()
{
}
Warning* Warning::getInstance()
{
if (NULL == mInstance)
{
mInstance = new Warning();
}
return mInstance;
}
void Warning::deleteInstance()
{
if (NULL != mInstance)
{
delete mInstance;
mInstance = NULL;
}
}
void initialize()
{
warningId = NULL;
warningState = 0;
}
void Warning::updateWarning()
{
}
void Warning::setWarningId(int id)
{
warningId = id;
}
Note:
#ifndef _WARNING_H_
#define _WARNING_H_
/*
这样做是为了防止重复编译,不这样做就有可能出错。
至于_WARNING_H_这个名字实际上是无所谓的,叫什么都行,只要符合规范就行。
原则上来说,非常建议把它写成这种形式,因为比较容易和头文件的名字对应。
*/
