| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 622 人关注过本帖
标题:简单的重载,怎么这么多错误。。。可是我一个也没找到啊
只看楼主 加入收藏
hey小阳阳
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-11-24
结帖率:37.5%
收藏
已结贴  问题点数:5 回复次数:6 
简单的重载,怎么这么多错误。。。可是我一个也没找到啊
程序代码:
#include<iostream>
using namespace std;

class Complex
{
private:
     double real;
     double image;
public:
     Complex();            //无参构造函数
     Complex(double r );      //转换构造函数
     Complex(double r, double i);//有两个形参的构造函数
     friend Complex operator+(Complex&a, Complex&b);  //对"+"运算符进行重载
     friend ostream& operator<<(ostream&output, Complex&c);  //对"<<"运算符进行重载
     friend istream& operator>>(istream&input, Complex&c);   //对">>"运算符进行重载
};
Complex::Complex()
{
    real=0;
    image=0;
}
Complex::Complex(double r)
{
    real=r;
    image=0;
}
Complex::Complex(double r,double i)
{
    real=r;
    image=i;
}
Complex operator+(Complex&a,Complex&b)
{
    return Complex(a.real+b.real,a.image+b.image);
}
ostream & operator<<(ostream output,Complex& c)
{
    output<<c.real<<','<<c.image<<'i'<<endl;
    return output;
}
istream & operator>>(istream input,Complex& c)
{
    input>>c.real>>','>>c.image;
    return input;
}
int main()
{
    Complex c1;
    Complex c2;
    Complex c3;
    cin>>c1;
    cin>>c2;
    c3=c1+c2;
    cout<<c3;
}
搜索更多相关主题的帖子: Complex 
2013-06-12 15:47
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:5 
先上我以前写过的类似的问题

#include<iostream>
using namespace std;

class Complex
{
public:
    Complex();
    Complex(int r,int i);

    void put();
    Complex operator+(Complex &t);
    friend ostream& operator<<(ostream& output,Complex c);
    friend istream& operator>>(istream& input,Complex& c);

private:
    int real;
    int imag;
};

Complex::Complex()
{
    real=0;
    imag=0;
}

Complex::Complex(int r,int i)
{
    real=r;
    imag=i;
}

Complex Complex::operator+(Complex &t)
{
    Complex temp(*this);

    temp.real+=t.real;
    temp.imag+=t.imag;

    return temp;
}

void Complex::put()
{
    cout<<real<<"+"<<imag<<"i"<<endl;
}

ostream& operator<<(ostream& output,Complex c)
{
    output<<"("<<c.real<<"+"<<c.imag<<"i)"<<endl;

    return output;
}

istream& operator>>(istream& input,Complex& c)
{
    input>>c.real>>c.imag;

    return input;
}

int main()
{
    Complex c1,c2;
    cin>>c1>>c2;

    cout<<"c1="<<c1<<endl;
    cout<<"c2="<<c2<<endl;

    return 0;
}

学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2013-06-12 16:00
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:0 
再说楼主的错误:

重载函数写的时候要写成&output和&input

而不是没有&那样子

学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2013-06-12 16:01
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:0 
另外output的时候,c的前面可以不用&


另外,目测还有其他错误,容我再看看


学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2013-06-12 16:07
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:0 
感觉上好像楼主写的+重载不是那么回事儿,

可以参考一下我写的

我就不具体说 了


学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2013-06-12 16:10
hey小阳阳
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-11-24
收藏
得分:0 
回复 5楼 蚕头燕尾
不好意思,水了。。。一个是&那个问题,还有个重载>>时的错误,就这两个地方报了17个错误,当时就吓尿了。。。
2013-06-12 18:32
天地霸气诀
Rank: 2
等 级:禁止发言
帖 子:21
专家分:21
注 册:2013-6-14
收藏
得分:0 
回复 3楼 蚕头燕尾
提示: 作者被禁止或删除 内容自动屏蔽
2013-06-14 17:07
快速回复:简单的重载,怎么这么多错误。。。可是我一个也没找到啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016842 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved