| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 946 人关注过本帖
标题:<complex>类复数相加问题,求解
只看楼主 加入收藏
hy247767221
Rank: 2
来 自:襄樊
等 级:论坛游民
帖 子:41
专家分:22
注 册:2011-7-27
结帖率:87.5%
收藏
已结贴  问题点数:8 回复次数:9 
<complex>类复数相加问题,求解
#include<iostream>
#include<complex>
using namespace std;

class Complex
{
    private:
        complex <double> Complex_add;
    public:
        Complex() : Complex_add(0, 0)
        {
            cout << "Initialize!" << endl;
        }
        friend void add(Complex&, complex <double>&, complex <double>&);
        void output();
        ~Complex()
        {
            cout << "Set free!" << endl;
        }
};

void add(Complex& num, complex <double>& num1, complex <double>& num2)
{
    = num1.real() + num2.real();
    = num1.imag() + num2.imag();
}

void Complex :: output()
{
    cout << "The real is" << Complex_add.real() << endl;
    cout << "The imag is" << Complex_add.imag() << endl;
}

int main()
{
    Complex Complex_add;

    complex <double> num1(2.3, 3.4);
    complex <double> num2(4.11, 3.45);

    add(Complex_add, num1, num2);
    Complex_add.output();
   
    cout << endl;
    return 0;
}
运行之后只加了虚部
实部还是0
各位帮帮忙
搜索更多相关主题的帖子: void class complex Complex private 
2011-08-12 23:12
baobaoisme
Rank: 7Rank: 7Rank: 7
来 自:AVATAR
等 级:黑侠
帖 子:260
专家分:506
注 册:2010-7-9
收藏
得分:2 
void add(Complex& num, complex <double>& num1, complex <double>& num2)
{
    () = num1.real() + num2.real();
    () = num1.imag() + num2.imag();
}
你的这个函数有问题。
另外你这样写不好,重载运算符更好一些。
2011-08-13 00:31
hy247767221
Rank: 2
来 自:襄樊
等 级:论坛游民
帖 子:41
专家分:22
注 册:2011-7-27
收藏
得分:0 
回复 2楼 baobaoisme
不行,这样的话编译错误的,而且我才c++入门
重载运算符还不会
2011-08-13 09:08
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
收藏
得分:2 


//
  = num1.real() + num2.real();
  = num1.imag() + num2.imag();

你这样只是两次调用了comlpex的=重载。并没有将两个数相加、

离恨恰如春草,更行更远还生。
2011-08-13 09:46
gzliujie5
Rank: 1
来 自:贵州
等 级:新手上路
帖 子:22
专家分:5
注 册:2011-8-13
收藏
得分:1 
唉,完全看不懂~~~
2011-08-13 17:13
我是菜鸟C
Rank: 4
等 级:业余侠客
帖 子:74
专家分:200
注 册:2011-3-27
收藏
得分:0 
  你要是不重载操作符的话  那你就定义两个私有成员,一个记录实部相加   ,一个记录虚部相加!!
2011-08-14 08:26
hy247767221
Rank: 2
来 自:襄樊
等 级:论坛游民
帖 子:41
专家分:22
注 册:2011-7-27
收藏
得分:0 
回复 6楼 我是菜鸟C
这样的话应该可以的,谢谢啦,我试试!
2011-08-14 11:45
hy247767221
Rank: 2
来 自:襄樊
等 级:论坛游民
帖 子:41
专家分:22
注 册:2011-7-27
收藏
得分:0 
回复 4楼 玩出来的代码
嗯···晕晕的,我还得研究下了,谢谢你的答案啦
2011-08-14 11:45
马甲1号
Rank: 5Rank: 5
等 级:职业侠客
帖 子:68
专家分:312
注 册:2011-4-4
收藏
得分:3 
程序代码:
void add(Complex& num, complex <double>& num1, complex <double>& num2)
{
    (num1.real() + num2.real());
    (num1.imag() + num2.imag());
}


这样3


???????
2011-08-14 21:46
hy247767221
Rank: 2
来 自:襄樊
等 级:论坛游民
帖 子:41
专家分:22
注 册:2011-7-27
收藏
得分:0 
回复 9楼 马甲1号
高手,我试了好多种情况怎么就是没想到这种勒,纠结啊
谢谢你的答案啦!
2011-08-15 10:31
快速回复:<complex>类复数相加问题,求解
数据加载中...
 
   



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

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