永发信息网

C++函数重载输出怎么会这样

答案:2  悬赏:20  手机版
解决时间 2021-08-18 04:23

#include<iostream>
using namespace std;
class complex{//定义一个复数类
public:
 complex(){real=0;imag=0;}
 complex(float r,float i){real=r;imag=i;}
 complex(double r){real=r;imag=0;}//类型转换构造函数
 operator double (){return real;}//类型转换函数
 friend complex operator+(complex c1,complex c2);//重载运算符+
 friend complex operator-(complex c1,complex c2);//重载运算符-
 friend complex operator*(complex c1,complex c2);//重载运算符*
 friend complex operator/(complex c1,complex c2);//重载运算符/
 friend ostream&operator<<(ostream&ouput,complex &c);//重载运算符<<
 friend istream&operator>>(istream&input,complex &c);//重载运算符>>
private:
 float real;
 float imag;
};
complex operator+(complex c1,complex c2){
 complex c;
 c.real=c1.real+c2.real;
 c.imag=c1.imag+c2.imag;
 return c;
}
complex operator-(complex c1,complex c2){
 complex c;
 c.real=c1.real-c2.real;
 c.imag=c1.imag-c2.imag;
 return c;
}
complex operator*(complex c1,complex c2){
 complex c;
 c.real=c1.real*c2.real-c1.imag*c2.imag;
 c.imag=c1.imag*c2.real+c1.real*c2.imag;
 return c;
}
//complex operator/(complex c1,complex c2)//先不定义函数
ostream &operator<<(ostream &ouput,complex &c){
 ouput<<c.real<<"+"<<c.imag<<"i";
 return ouput;
}
istream&operator>>(istream&input,complex &c){
    input>>c.real>>c.imag;
 return input;
 }
int main(){
 complex c1(1,2),c2(2,3),c3;
 double a=3;
    cout<<"c1+c2="<<c1+c2<<endl;
    cout<<"c1-c2="<<c1-c2<<endl;
 cout<<"c1*c2="<<c1*c2<<endl;
 cout<<"c1+a="<<c1+complex(a)<<endl;
 cout<<"a+c1="<<complex(a)+c1<<endl;
 cin>>c3;
 cout<<"c3="<<c3<<endl;
    return 0;
}

 

最佳答案
你的重载函数原型写错了,修改为如下原型就可以了。
friend ostream&operator<<(ostream& ouput,const complex& c);friend istream&operator>>(istream& input,const complex& c);
注意里面的const
函数实现那里也需要修改一下。
全部回答
这么复杂都不多给点分
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我的桌面图标不知道怎么就这样了- -
adsl用户端设备的好坏影响网速吗?
青岛即墨到海阳怎么走,从青岛去即墨怎么走最
我想知道四川省内江市弦光区自治乡村委会电话
qq网名怎么加长?
谁能给我QQ校友个邀请?
茅箭区十堰罗曼蒂客哪位知道具体地址啊
60厘米是一尺几?
曹植白马篇名句,曹植质问哥哥为何苦苦相逼的
P53基因全长20kb,其中“kb”指代什么
QQ旋舞名字中的空白怎么打出来的 ?
毕业了的诗歌,多年前的愿望实现了却不是那种
在淘宝付款的时候
2010年可能补录得3A院校有哪些呢?知道的告诉
车贷款利息怎么算公式,捷信公司贷款利率怎么
推荐资讯
快速秒点亮QQ三国图标方法是不是已经禁用了?
像词语“金光灿灿”的ABCC形式的还有哪些?
手机QQ能干什么?
电视《传说》轩辕皇帝、花神、玉帝是女娲的孩
新乡有哪些宾馆,许昌哪家宾馆晚上有电话骚扰
有东方神起的小说吗?不要王道的!
爱拍视频网论坛问题
谁能传我一本《幻刃仙缘》 要完结的·谢谢
天元区株洲中国语言智能研究中心湖南智能教育
冬季?夏季?你喜欢哪个季节?
武昌区武汉音乐培训馆在哪里啊,我有事要去这
2010年4月辽宁国二VB考试报名时间
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?