分别采用成员函数和友元函数重载实现复数的加法运算。也c++
时间: 2024-03-07 09:47:49 浏览: 82
C++运算符重载 成员函数与友元函数详解
5星 · 资源好评率100%
好的,下面是实现复数加法运算的示例代码:
```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+(Complex const &obj) {
Complex res;
res.real = real + obj.real;
res.imag = imag + obj.imag;
return res;
}
void display() {
cout << real << " + " << imag << "i" << endl;
}
friend Complex operator+(double const &d, Complex const &obj);
};
Complex operator+(double const &d, Complex const &obj) {
Complex res;
res.real = d + obj.real;
res.imag = obj.imag;
return res;
}
int main() {
Complex c1(2, 3), c2(4, 5), c3;
c3 = c1 + c2;
c3.display();
c3 = 2.5 + c1;
c3.display();
return 0;
}
```
上述代码中,成员函数 `operator+` 重载了 `+` 运算符,用于实现两个复数的加法运算。同时,还定义了一个友元函数 `operator+`,用于实现一个实数和一个复数的加法运算。
在主函数中,我们可以直接使用 `+` 运算符对两个复数进行加法运算,也可以使用实数和复数相加的形式进行运算。运行结果如下:
```
6 + 8i
4.5 + 3i
```
希望这个示例可以帮助你理解如何使用成员函数和友元函数重载运算符实现复数加法运算。
阅读全文