编写程序实现加减乘除的运算符重载
时间: 2023-06-21 16:21:26 浏览: 136
好的,以下是一个简单的示例程序,重载了加减乘除四个运算符:
```c++
#include <iostream>
class MyMath {
public:
MyMath(int value) : m_value(value) {}
// 加法运算符重载
MyMath operator+(const MyMath& other) {
int result = m_value + other.m_value;
return MyMath(result);
}
// 减法运算符重载
MyMath operator-(const MyMath& other) {
int result = m_value - other.m_value;
return MyMath(result);
}
// 乘法运算符重载
MyMath operator*(const MyMath& other) {
int result = m_value * other.m_value;
return MyMath(result);
}
// 除法运算符重载
MyMath operator/(const MyMath& other) {
int result = m_value / other.m_value;
return MyMath(result);
}
// 输出运算符重载
friend std::ostream& operator<<(std::ostream& os, const MyMath& obj) {
os << obj.m_value;
return os;
}
private:
int m_value;
};
int main() {
MyMath a(10);
MyMath b(5);
std::cout << "a + b = " << a + b << std::endl; // 输出 15
std::cout << "a - b = " << a - b << std::endl; // 输出 5
std::cout << "a * b = " << a * b << std::endl; // 输出 50
std::cout << "a / b = " << a / b << std::endl; // 输出 2
return 0;
}
```
在上面的示例中,我们定义了一个 `MyMath` 类,其中包含一个整数成员变量 `m_value`,并重载了加减乘除四个运算符。在 `main()` 函数中,我们创建了两个 `MyMath` 类对象 `a` 和 `b`,并进行了加减乘除四种运算,输出了结果。
需要注意的是,除法运算符重载时,如果被除数为 0,会导致程序崩溃。因此,应该在重载运算符时,增加对输入数据的判断,避免出现异常情况。
阅读全文