C++ 面向对象程序设计 异常处理 编程题

自定义异常类NegativeNumberException,表示程序对负数执行非法操作时出现的异常,如计算负数的平方根。该类必须定义两个构造函数:默认构造函数和带stri... 自定义异常类NegativeNumberException,表示程序对负数执行
非法操作时出现的异常,如计算负数的平方根。该类必须定义两个构造函数:默认构造
函数和带string 类型字符串参数的构造函数。编写SquareRoot 函数,程序让用户输入某
个数字值,计算该数的平方根,如果输入的是负数,将抛出NegativeNumberException 异
常,否则输出该数的平方根。
展开
 我来答
百度网友f3bf84c
推荐于2016-09-25 · TA获得超过122个赞
知道小有建树答主
回答量:144
采纳率:100%
帮助的人:133万
展开全部
楼主你好,代码给你写了一个,看下满足你的要求不,
#include <iostream>
#include <string>
#include <math.h>
class NegativeNumberException
{
public:
NegativeNumberException()
{
m_str = "";
}
NegativeNumberException(std::string str)
{
m_str = str;
}
void ShowErrorStr()
{
std::cerr << m_str << std::endl;
}
private:
std::string m_str;
};
double SquareRoot()
{
double num;
std::cout << "Please input a num :";
std::cin >> num;
if (num < 0)
{
throw NegativeNumberException("You input a negative num!\n");
}
else
{
return sqrt(num);
}
}
int main()
{
double result;
try
{
result = SquareRoot();
}
catch (NegativeNumberException& e)
{
e.ShowErrorStr();
return 1;
}
std::cout << "The result is:" << result << std::endl;
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式