C++ 面向对象程序设计 异常处理 编程题
自定义异常类NegativeNumberException,表示程序对负数执行非法操作时出现的异常,如计算负数的平方根。该类必须定义两个构造函数:默认构造函数和带stri...
自定义异常类NegativeNumberException,表示程序对负数执行
非法操作时出现的异常,如计算负数的平方根。该类必须定义两个构造函数:默认构造
函数和带string 类型字符串参数的构造函数。编写SquareRoot 函数,程序让用户输入某
个数字值,计算该数的平方根,如果输入的是负数,将抛出NegativeNumberException 异
常,否则输出该数的平方根。 展开
非法操作时出现的异常,如计算负数的平方根。该类必须定义两个构造函数:默认构造
函数和带string 类型字符串参数的构造函数。编写SquareRoot 函数,程序让用户输入某
个数字值,计算该数的平方根,如果输入的是负数,将抛出NegativeNumberException 异
常,否则输出该数的平方根。 展开
1个回答
展开全部
楼主你好,代码给你写了一个,看下满足你的要求不,
#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;
}
#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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询