c++分别采用成员函数和友元函数重载实现复数的加法运算
时间: 2024-03-24 08:39:04 浏览: 115
好的,为您解答。
首先,我们需要定义一个复数类来存储复数的实部和虚部,示例代码如下:
```cpp
class Complex {
public:
Complex(double real = 0.0, double imag = 0.0) : m_real(real), m_imag(imag) {}
// 成员函数重载加法运算符
Complex operator+(const Complex& other) const {
return Complex(m_real + other.m_real, m_imag + other.m_imag);
}
// 声明友元函数
friend Complex operator+(const Complex& c1, const Complex& c2);
private:
double m_real; // 实部
double m_imag; // 虚部
};
```
这里我们为复数类定义了一个默认构造函数,以及一个成员函数重载加法运算符。
接下来,我们使用友元函数来实现复数的加法运算,示例代码如下:
```cpp
// 友元函数重载加法运算符
Complex operator+(const Complex& c1, const Complex& c2) {
return Complex(c1.m_real + c2.m_real, c1.m_imag + c2.m_imag);
}
```
在这个友元函数中,我们可以直接访问复数类的私有成员变量,从而实现复数的加法运算。
这样,我们就分别使用成员函数和友元函数重载实现了复数的加法运算。当然,这只是一个简单的示例,实际应用中还需要考虑复数的其他运算,如减法、乘法、除法等。
阅读全文