C++类的实例

本文详细介绍了Warning类的设计,包括其头文件与源文件的实现细节。通过使用单例模式,确保了Warning类实例的唯一性,同时提供了初始化、更新警告状态及设置警告ID等方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

挺喜欢这个例子,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_这个名字实际上是无所谓的,叫什么都行,只要符合规范就行。

原则上来说,非常建议把它写成这种形式,因为比较容易和头文件的名字对应。

*/

 

 

from Daniel Chen

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值