复数的加减运算(c++)使用友元函数
时间: 2023-12-03 18:42:38 浏览: 137
c++关于友元函数的例子.pdf
复数的加减运算可以使用友元函数来实现。首先需要定义一个表示复数的类,然后在类的外部定义友元函数来实现加减运算。
下面是一个示例代码:
```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){}
friend Complex operator+(Complex c1, Complex c2);
friend Complex operator-(Complex c1, Complex c2);
void display(){ cout << "(" << real << "," << imag << ")" << endl; }
};
Complex operator+(Complex c1, Complex c2){
return Complex(c1.real+c2.real, c1.imag+c2.imag);
}
Complex operator-(Complex c1, Complex c2){
return Complex(c1.real-c2.real, c1.imag-c2.imag);
}
int main(){
Complex c1(1.0, 2.0);
Complex c2(3.0, 4.0);
Complex c3 = c1+c2;
Complex c4 = c1-c2;
c3.display();
c4.display();
return 0;
}
```
在上面的示例代码中,我们定义了一个表示复数的类`Complex`,其中包含实部和虚部两个成员变量。然后我们定义了两个友元函数`operator+`和`operator-`,分别用于实现复数的加法和减法运算。在`main`函数中,我们创建两个复数对象`c1`和`c2`,然后使用重载的加减运算符对它们进行加减运算,最后输出结果。
需要注意的是,我们在友元函数的定义中没有使用`Complex::`来限定函数的作用域,这是因为友元函数不属于类的成员函数,所以不能使用作用域限定符。另外,我们将友元函数定义在类的外部,这样它们就可以访问类的私有成员变量了。
阅读全文