- 异常的多态使用
 
- 提供基类异常类
 
- class BaseException
 - 纯虚函数 virtual void printError() = 0;
 
- 子类空指针异常 和 越界异常 继承 BaseException
 - 重写virtual void printError()
 - 测试 利用父类引用指向子类对象
 
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
//异常的基类
class BaseException
{
public:
	virtual void printError() = 0;
};
//空指针异常
class NULLPointerException :public BaseException
{
public:
	virtual void printError()
	{
		cout << "空指针异常" << endl;
	}
};
//越界异常
class OutOfRangeException :public BaseException
{
public:
	virtual void printError()
	{
		cout << "越界异常" << endl;
	}
};
void doWork()
{
	//throw NULLPointerException();
	throw OutOfRangeException();
}
void test01()
{
	try
	{
		doWork();
	}
	catch (BaseException & e)
	{
		e.printError();
	}
}
int main(){
	test01();
	system("pause");
	return EXIT_SUCCESS;
}                










