Linux学习之出错处理(状态类封装)

封装的状态类"CLStatus"

头文件(CLStatus.h):

View Code
#ifndef CLSTATUS_H
#define CLSTATUS_H

/*
用于保存函数的处理结果
*/
class CLStatus
{
public:
/*
lReturnCode >=0表示成功,否则失败
*/
CLStatus(long lReturnCode, long lErrorCode);
virtual ~CLStatus();

public:
bool IsSuccess();

public:
const long& m_clReturnCode;
const long& m_clErrorCode;

private:
long m_lReturnCode;
long m_lErrorCode;
};

#endif

实现文件(CLStatus.cpp)

View Code
#include "CLStatus.h"

CLStatus::CLStatus(long lReturnCode, long lErrorCode) : m_clReturnCode(m_lReturnCode), m_clErrorCode(m_lErrorCode)
{
m_lReturnCode = lReturnCode;
m_lErrorCode = lErrorCode;
}

CLStatus::~CLStatus()
{
}

bool CLStatus::IsSuccess()
{
if(m_clReturnCode >= 0)
return true;
else
return false;
}

使用常量引用(const long &)声明公有(public)成员,可以确保其不被外部代码修改。从而避免提供一个只读的函数。

更多关于"常量引用"的解释,见http://blog.csdn.net/cszdhhz/article/details/6877952

posted @ 2011-10-19 10:59  lq0729  阅读(234)  评论(0编辑  收藏  举报