【问题描述】
设计一个异常类Exception,在此基础上派生一个OutOfMemory类响应内存不住,一个RangeError类响应输入的数不在制定范围内,实现并测试这几个类。
注意:因内存不足服务器不便于测试,故本题提交答案只测试RangeError类。
【输入形式】
正常的输入输出(数字前为提示文字):
Input n(1<=n<=100):88
【输出形式】
n:88
有异常的输入输出(数字前为提示文字):
Input n(1<=n<=100):-5
Exception:Range Error!
【样例输入】
Input n(1<=n<=100):-5
【样例输出】
Exception:Range Error!
【样例说明】
【评分标准】
#include <iostream>
using namespace std;
class Exception
{
public:
virtual void showMessage()=0;
};
class OutOfMemory : public Exception
{
public:
virtual void showMessage()
{
cout<<"Exception:Out of Memory!";
}
};
class RangeError : public Exception
{
public:
virtual void showMessage()
{
cout<<"Exception:Range Error!";
}
};
int main()
{
try
{
int n;
cout<<"Input n(1<=n<=100):";
cin>>n;
if(n<1||n>100)
throw RangeError();
cout<<"n:"<<n<<endl;
}
catch(Exception& e)
{
e.showMessage();
}
}