Linux学习之出错处理(状态类封装)
封装的状态类"CLStatus"
头文件(CLStatus.h):
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#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)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#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