很多程序库对外提供若干类,每个方法出错时如何告知调用者是否出错,以及出错码(在Linux上在error.h中的全局errno就是保存我们Linux程序执行的出错码的)?方法很多,为了简化起见,函数将返回一个对象,该对象保存了函数的返回值和出错码。
/*
* CLStatus.h
*
* Author: lilin
* email: lilin@uestc.edu.cn
*/
#ifndef CLSTATUS_H
#define CLSTATUS_H
//用于保存函数的处理结果
class CLStatus
{
public:
/*
lReturnCode >=0表示成功,否则失败
*/
CLStatus(long lReturnCode, long lErrorCode);
CLStatus(const CLStatus& s);
virtual ~CLStatus();
public:
bool IsSuccess();
public:
/*通过这样可以是m_lErrorCode和m_lReturnCode做为public
成员隐藏了写,但可以公开了读*/
const long& m_clReturnCode;
const long& m_clErrorCode;
private:
//返回值
long m_lReturnCode;
//出错码
long m_lErrorCode;
};
#endif
#include "CLStatus.h"
CLStatus::CLStatus(long lReturnCode, long lErrorCode) : m_clReturnCode(m_lReturnCode)