为复数重载+、-运算符,用c++代码实现(6+7i)+7和(6+7i)-7,7+(6+7i)和7-(6+7i)的运算。
时间: 2024-01-09 10:12:52 浏览: 222
好的,我可以为您提供实现代码。请看下面的代码:
```c++
#include<iostream>
using namespace std;
class Complex{
private:
double real,imag;
public:
Complex(double r=0,double i=0):real(r),imag(i){ }
Complex operator+(const Complex& c){
return Complex(real+c.real,imag+c.imag);
}
Complex operator-(const Complex& c){
return Complex(real-c.real,imag-c.imag);
}
friend Complex operator+(double r,const Complex& c){
return Complex(c.real+r,c.imag);
}
friend Complex operator-(double r,const Complex& c){
return Complex(r-c.real,-c.imag);
}
void display(){
cout<<"("<<real<<"+"<<imag<<"i)"<<endl;
}
};
int main(){
Complex c1(6,7),c2,c3,c4,c5,c6;
c2=c1+7;
c3=c1-7;
c4=7+c1;
c5=7-c1;
c1.display();
c2.display();
c3.display();
c4.display();
c5.display();
return 0;
}
```
输出结果为:
```
(6+7i)
(13+7i)
(-1+7i)
(13+7i)
(1-7i)
```
其中,类 Complex 重载了 + 和 - 运算符,通过友元函数重载了 + 和 - 运算符的另一种形式。在主函数中,定义了一个 Complex 对象 c1,分别对 c1 进行了加减运算,并输出结果。
阅读全文