⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xerror.h

📁 《C++编程指南(续编)》的一些程序源代码
💻 H
字号:
#include "student.h"

#ifndef XERROR_
#define XERROR_

#include <string.h>

class XError
{
public:
	XError(const char * pszLocation,
		const char * pszReason):
	sReason(pszReason),sLocation(pszLocation)
	{
	}
	virtual void display(ostream& out)const;

protected:
	const string sReason;
	const string sLocation;
};

class XInvalidStudent:public XError
{
public:
	XInvalidStudent(const Student * pS,
		const char * pszReason):
	XError("Student::isLegal",pszReason),
		pStudent(pS)
	{
	}
	virtual void display(ostream& out)const;
	
protected:
	const Student * pStudent;
};

class XFileError:public XError
{
public:
	enum ErrCode
	{
		GENERIC_FILE_ERR,
			FILE_NOT_FOUND,
			FILE_CREATE_ERROR,
			FILE_READ_ERROR,
			FILE_WRITE_ERROR
	};

	XFileError(const char * pszLocation,
		const char * pszFileName,
		const char * pszReason,
		const ErrCode ec):
	XError(pszLocation,pszReason),
		sFileName(pszFileName)
	{
		error=ec;
	}
	virtual void display(ostream& )const;

	ErrCode errcode()
	{
		return error;
	}
protected:
	string sFileName;
	ErrCode error;
};
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -