c++用类编写四则运算
时间: 2024-10-02 17:02:06 浏览: 19
小学生四则运算练习系统(C++实现)
5星 · 资源好评率100%
在C++中,我们可以创建一个类来表示一个简单的数值,并封装四则运算的功能。以下是一个基本的例子,展示了如何创建一个名为`Number`的类,包含加法、减法、乘法和除法的方法:
```cpp
#include <iostream>
class Number {
private:
double value; // 数值成员变量
public:
// 构造函数
Number(double val = 0) : value(val) {}
// 获取数值
double getValue() const { return value; }
// 加法
Number operator+(const Number& other) const {
return Number(value + other.value);
}
// 减法
Number operator-(const Number& other) const {
return Number(value - other.value);
}
// 乘法
Number operator*(const Number& other) const {
return Number(value * other.value);
}
// 除法(需要处理除数为零的情况)
Number operator/(const Number& other) const {
if (other.value == 0) {
throw std::invalid_argument("Divisor cannot be zero");
}
return Number(value / other.value);
}
// 输出数值
friend std::ostream& operator<<(std::ostream& os, const Number& num) {
os << num.getValue();
return os;
}
};
int main() {
Number a(5), b(3);
Number sum = a + b;
Number diff = a - b;
Number prod = a * b;
try {
Number quot = a / b;
std::cout << "Sum: " << sum << std::endl;
std::cout << "Difference: " << diff << std::endl;
std::cout << "Product: " << prod << std::endl;
std::cout << "Quotient: " << quot << std::endl;
} catch (const std::invalid_argument& e) {
std::cerr << "Error: " << e.what() << std::endl;
}
return 0;
}
```
在这个例子中,我们定义了一个`operator+`到`operator/`的操作符重载,使得可以像操作实际数值那样对`Number`对象进行算术运算。注意,为了能够支持打印,我们还添加了一个友元函数`operator<<`。
阅读全文