. 运算符重载为非成员函数-复数加减法

#include<iostream>
using  namespace  std;
class  complex
{
public:
    complex(double  r = 0.0, double  i = 0.0) { real = r; imag = i; }
    friend  complex  operator  +  (complex  c1, complex  c2);        //+重载为成员函数
    friend  complex  operator  -  (complex  c1, complex  c2);          //-重载为成员函数
    void  display();        //输出复数
private:
    double  real;        //复数实部
    double  imag;        //复数虚部
};
//重载函数实现
complex  operator  +(complex  c1, complex  c2)
{

    complex tmp; 
    tmp.real = c1.real + c2.real;
    tmp.imag = c1.imag + c2.imag;
    return tmp;

}
//重载函数实现
complex  operator  -(complex  c1, complex  c2)
{

    complex tmp; 
    tmp.real = c1.real - c2.real;
    tmp.imag = c1.imag - c2.imag;
    return tmp;
}
void  complex::display()
{
    cout << "(" << real << "," << imag << ")" << endl;
}

int  main()
{
    complex  c1(5, 4), c2(2, 10), c3, c4;
    cout << "c1=";  c1.display();
    cout << "c2=";  c2.display();
    c3 = c1 - c2;        //使用重载运算符完成复数减法
    cout << "c3=c1-c2=";
    c3.display();
    c4 = c1 + c2;        //使用重载运算符完成复数加法
    cout << "c4=c1+c2=";
    c4.display();
}

凉心哥哥的小宝藏 文章被收录于专栏

c++

全部评论

相关推荐

rbjjj:太杂了吧,同学,项目似乎都没深度,都是api调度耶,分层架构思想没有体现出来了,前端没有前端优化前端工程化体现,后端微服务以及分层架构没体现以及数据安全也没体现,核心再改改,注重于计算机网络,工程化,底层原理吧
点赞 评论 收藏
分享
代码飞升_不回私信人...:别这样贬低自己,降低预期,放平心态,跟昨天的自己比。做好自己,反而会效率更高心态更好,加油兄弟
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务