使用友元函数形式进行运算符重载

发布时间:2020-07-15 20:11:35 作者:银河星君
阅读:559
开发者专用服务器限时活动,0元免费领! 查看>>
#include <iostream>

using namespace std;

class Complex
{
private:
    int real;
    int p_w_picpath;
public:
    Complex(int real=0,int p_w_picpath=0):real(real),p_w_picpath(p_w_picpath)
    {
        cout<<"Complex::Complex():"<<this<<endl;
    }
    Complex(const Complex &x):real(x.real),p_w_picpath(x.p_w_picpath)
    {
        cout<<"Complex::Complex(Complex &):"<<this<<endl;
    }
    ~Complex()
    {
        cout<<"Complex::~Complex():"<<this<<endl;
    }
    friend Complex operator+(Complex &a,Complex &b);

    friend Complex operator-(Complex &a,Complex &b);

    void show();
};
Complex operator+(Complex &a,Complex &b)
{
    return Complex(a.real+b.real,a.p_w_picpath+b.p_w_picpath);
}
Complex operator-(Complex &a,Complex &b)
{
    return Complex(a.real-b.real,a.p_w_picpath-b.p_w_picpath);
}
void Complex::show()
{
    cout<<real;
    if(p_w_picpath>0)
        cout<<"+";
    cout<<p_w_picpath<<"i"<<endl;
}
int main(int argc, char *argv[])
{
    Complex a(10,20);
    Complex b(70,80);
    Complex c=a+b;
    Complex d=a-b;
    a.show();
    b.show();
    c.show();
    d.show();
    return 0;
}

使用友元函数形式进行运算符重载

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:
  1. 友元函数<<的模板化
  2. C++ 友元函数友元类

开发者交流群:

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

运算符重载 友元函数

上一篇:iOS如何修改默认UITabBarItem的英文名称

下一篇:08.学习笔记-权限管理

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
开发者交流群×