| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 312 人关注过本帖
标题:c++程序,编译器vc++6.0 求大神看看哪错了, 运行结果不对
只看楼主 加入收藏
rwzly4537
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-10-30
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
c++程序,编译器vc++6.0 求大神看看哪错了, 运行结果不对
程序代码:
#include <iostream.h>
class com
{
public:
//运算符重载
    friend istream & operator >> (istream &,com &);
        friend ostream & operator << (ostream &,com &);
    friend com & operator + (com &,com &);
private:
    int real,image;
};
ostream & operator << (ostream & output,com &c)
{
    output<<"("<<c.real<<"+"<<c.image<<"i)";
    return output;
}
istream & operator >> (istream & input,com & c)
{
    input>>c.real>>c.image;
    return input;
}
com& operator + (com &a,com &b)
{
com c;
c.real=a.real+b.real;
c.image=a.image+b.image;
return c;
}
int main()
{
    com a,b;
    cout<<"input a=";
    cin>>a;
    cout<<"input b=";
    cin>>b;
    cout<<"a="<<a<<endl;
    cout<<"b="<<b<<endl;
    cout<<"a+b="<<a+b<<endl;
    return 0;
}

搜索更多相关主题的帖子: 编译器 
2013-10-30 21:59
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:20 
程序代码:
#include <iostream>

class com
{
public:
    com( int real=0, int image=0 ) : real_(real), image_(image)
    {
    }

private:
    int real_, image_;

    friend std::istream& operator >> ( std::istream&, com& );
    friend std::ostream& operator << ( std::ostream&, const com& );
    friend com operator + ( const com&, const com& );
};

com operator+ ( const com& a, const com& b )
{
    return com( a.real_+b.real_, a.image_+b.image_ );
}

std::ostream& operator << ( std::ostream& output, const com& c )
{
    output << '(' << c.real_ << '+' << c.image_ << "i)";
    return output;
}
std::istream& operator >> ( std::istream& input, com& c )
{
    input >> c.real_ >> c.image_;
    return input;
}

using namespace std;

int main()
{
    com a, b;
    cout << "input a=";
    cin  >> a;
    cout << "input b=";
    cin  >> b;
    cout << "a="   << a << endl;
    cout << "b="   << b << endl;
    cout << "a+b=" << a+b << endl;

    return 0;
}
2013-10-31 08:27
梦想我来造
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-10-31
收藏
得分:0 
如图:
输入注意不要加逗号,同时切换到英文 输入法即可。
2013-10-31 09:00
rwzly4537
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-10-30
收藏
得分:0 
找到原因了 因为c在重载加法时是局部变量 所以返回值不能用引用
2013-10-31 23:56
快速回复:c++程序,编译器vc++6.0 求大神看看哪错了, 运行结果不对
数据加载中...
 
   



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

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