第1关:普通函数重载算术运算符
时间: 2023-10-28 08:13:37 浏览: 182
当我们在编写程序时,经常需要对自定义类型进行算术运算。C++ 中提供了运算符重载功能,使得我们可以通过重载运算符来定义自定义类型的算术运算。其中,重载算术运算符是比较常见的一种情况。
对于普通函数,我们可以通过重载算术运算符来实现对自定义类型的算术运算。例如,我们可以通过重载“+”运算符来实现自定义类型的加法运算。
下面是一个示例代码,演示了如何重载“+”运算符来实现自定义类型的加法运算。
```cpp
#include <iostream>
class MyInt
{
public:
MyInt(int val = 0) : m_val(val) {}
int getValue() const { return m_val; }
// 重载 "+" 运算符,实现 MyInt 类型的加法运算
MyInt operator+(const MyInt& rhs) const
{
return MyInt(m_val + rhs.m_val);
}
private:
int m_val;
};
int main()
{
MyInt a(1);
MyInt b(2);
MyInt c = a + b;
std::cout << "a + b = " << c.getValue() << std::endl;
return 0;
}
```
在上面的示例代码中,我们定义了一个 MyInt 类,其中包含一个整型成员变量 m_val。我们通过重载“+”运算符来实现 MyInt 类型的加法运算,重载函数的返回值为 MyInt 类型,参数为 const MyInt& 类型的引用。
在 main 函数中,我们创建了两个 MyInt 类型的对象 a 和 b,然后通过 a + b 的方式进行加法运算,将结果赋值给变量 c。最后,我们输出了变量 c 的值,也就是 a 和 b 的和。
这就是普通函数重载算术运算符的一个简单示例。
阅读全文