编写一个c++程序,实现两个复数相加

 我来答
chch噢耶
2012-11-11 · 超过26用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:63.5万
展开全部
先定义一个复数的类,里面包含复数的表示参数;然后定义一个运算符重载+,用这个+运算符实现两个复数的相加,实体部分 与虚部分分别计算

#include<iostream.h>
class Complex
{
private:
float Realpart;
float Imagepart;
public:
Complex::Complex(float r,float i) {Realpart=r; Imagepart=i;}

static void print(const Complex c1); const Complex operator+(const Complex& c1);//使用成员函数重载加号运算符
};
const Complex Complex::operator+(const Complex& c1)
{
Complex c(0,0);
c.Imagepart = Imagepart + c1.Imagepart;
c.Realpart = Realpart + c1.Realpart;
return c;
}
void Complex::print(const Complex c)
{
cout<<c.Realpart<< " "<<c.Imagepart<<endl;
}

void main()
{
Complex a(2,4);
Complex b(1,3);
Complex c(0,0);
c = a + b;
c.print(c);

}
Polaris北斗
推荐于2017-07-18 · TA获得超过3204个赞
知道大有可为答主
回答量:2530
采纳率:79%
帮助的人:819万
展开全部
#include <iostream>

using namespace std;

class Complex
{
public:
    Complex(double real = 0.0,double image = 0.0)
    {
        m_real = real; m_image = image;
    }

    Complex operator+(const Complex &c)
    {
        return Complex(this->m_real + c.m_real,this->m_image + c.m_image);
    }

    friend ostream &operator<<(ostream &os , const Complex &c)
    {
        os << c.m_real << " + " << c.m_image << "i";
        return os;
    }


    void print(Complex &c);


private:
    double m_real;
    double m_image;
};

int main()
{
    Complex a(1,2);
    Complex b(3,4);
    Complex c = a + b;
    cout << c <<endl;
    return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式