请完善以下代码,实现定义一个复数类Complex,重载前置自增“++”运算符及后置自增“++”运算符,使之能用于复数的自增运算。 注:复数的自增是让复数的实部和虚部同时增加1. 主函数示例如下: #include <iostream> using namespace std; /*********在begin和end之间填入代码,实现complex类的定义,重载前置++运算符和重载后置++运算符及display()函数********/ /***********begin*************/ void Complex::display() { if(real==0) { if(imag>0) cout<<imag<<"i"; else if(imag==0) cout<<real; else cout<<imag<<"i"; } else { if(imag>0) cout<<real<<"+"<<imag<<"i"; else if(imag==0) cout<<real; else cout<<real<<imag<<"i"; } } /***********end************/ int main() { Complex c1,c2; cin>>c1.real>>c1.imag; c1.display(); cout<<endl; ++c1; c2=c1++; c2.display(); cout<<endl; c1.display(); } 测试输入: 1 -2 预期输出:1-2i 2-1i 3
时间: 2023-07-19 19:36:51 浏览: 123
在begin和end之间填入代码,实现complex类的定义,重载前置++运算符和重载后置++运算符及display()函数:
```c++
#include<iostream>
using namespace std;
class Complex{
public:
double real,imag; //实部和虚部
Complex operator++(){ //前置++
real++;
imag++;
return *this;
}
Complex operator++(int){ //后置++
Complex temp=*this;
real++;
imag++;
return temp;
}
void display(){
if(real==0){
if(imag>0)
cout<<imag<<"i";
else if(imag==0)
cout<<real;
else
cout<<imag<<"i";
}
else{
if(imag>0)
cout<<real<<"+"<<imag<<"i";
else if(imag==0)
cout<<real;
else
cout<<real<<imag<<"i";
}
}
};
int main(){
Complex c1,c2;
cin>>c1.real>>c1.imag;
c1.display();
cout<<endl;
++c1;
c2=c1++;
c2.display();
cout<<endl;
c1.display();
return 0;
}
```
阅读全文