重载代码
时间: 2023-07-02 15:21:04 浏览: 57
好的,下面是一个简单的示例代码,展示了如何在类中定义成员函数和运算符重载:
```c++
#include <iostream>
using namespace std;
class Complex {
private:
double real;
double imag;
public:
Complex(double r = 0, double i = 0) : real(r), imag(i) {}
Complex operator+(const Complex& c) const;
void display() const;
};
Complex Complex::operator+(const Complex& c) const {
return Complex(real + c.real, imag + c.imag);
}
void Complex::display() const {
cout << real << "+" << imag << "i" << endl;
}
int main() {
Complex c1(1, 2), c2(2, 3), c3;
c3 = c1 + c2;
c3.display();
return 0;
}
```
在上面的代码中,我们定义了一个复数类 `Complex`,其中包含私有变量 `real` 和 `imag`,分别表示复数的实部和虚部。类中定义了一个构造函数和两个公有成员函数:`display` 和 `operator+`。
`operator+` 是一个运算符重载函数,它重载了加号运算符。它的返回值是一个 `Complex` 类型的对象,参数是一个常量引用 `const Complex&`,它表示另一个复数对象。在函数体中,我们通过使用成员变量 `real` 和 `imag` 计算出两个复数的和,并返回一个新的 `Complex` 对象。
`display` 函数用于输出复数对象的实部和虚部。
在 `main` 函数中,我们定义了三个 `Complex` 类型的对象 `c1`、`c2` 和 `c3`,并进行了加法运算。最后,我们使用 `display` 函数输出了 `c3` 的值。
希望这个示例代码能够帮助你理解类中成员函数和运算符重载的用法。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)