标题:运算符重载,遇到了这些问题
只看楼主
Aa1060030551
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2017-3-19
结帖率:83.33%
已结贴  问题点数:20 回复次数:1 
运算符重载,遇到了这些问题
程序代码:
#include<iostream>
using namespace std;
class Complex
{
    double real;
    double image;
public:
    Complex(double r = 0, double i = 0)
    {
        real = r; image = i;
    }
    friend void inputcomplex(Complex &comp1, Complex &comp2);
    friend Complex addcomplex(Complex c1, Complex c2);
    friend void outputcomplex(Complex comp);
};
void inputcomplex(Complex &comp1, Complex &comp2)
{
    char op, ab,p;
    cin >> comp1.real >> op >> comp1.image >>  p>> p >>comp2.real >> ab >> comp2.image >> p;
    if (op == '-',ab=='-') comp1.image = -comp1.image; comp2.image = -comp2.image;

 
}
Complex addcomplex(Complex c1, Complex c2)
{
    Complex c;
    c.real = c1.real + c2.real;
    c.image = c1.image + c2.image;
    return c;
}
void outputcomplex(Complex comp)
{
    cout << comp.real << ((comp.image >= 0) ? "+" : "") << comp.image << "i";
}
int main()
{
    Complex c1, c2, result;
    inputcomplex(c1, c2);
    result = addcomplex(c1, c2);
    outputcomplex(result);
    cout << endl;

}



提交上去之后是:




这个程序存在一个如果我虚部等于1,那么就会变成这样的问题:



我该如何修改?
搜索更多相关主题的帖子: Complex friend 
2017-05-18 19:28
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
这什么玩意儿,你得换本书了。你不会是跟谭浩强学的吧,他连C都一窍不通。

if (op == '-',ab=='-') comp1.image = -comp1.image; comp2.image = -comp2.image;
多看看吧

最重要的是,你连题目网站都不肯贴?!
2017-05-18 20:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-477109-1-1.html




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

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