C++加号运算符重载

作用:实现两个自定义数据类型相加的运算。(减、乘、除类似)

#include<iostream>
using namespace std;

class WLM
{
public:

    //1.成员函数加号运算符重载
    //WLM operator+(WLM &wlm1)
    //{
    //    WLM tmp;
    //    tmp.m_a = this->m_a + wlm1.m_a;
    //    tmp.m_b = this->m_b + wlm1.m_b;
    //    return tmp;
    //}

    int m_a;
    int m_b;
};

//2.全局函数加号运算符重载
WLM operator+(WLM &wlm2,WLM &wlm3)
    {
        WLM tmp;
        tmp.m_a = wlm2.m_a + wlm3.m_a;
        tmp.m_b = wlm2.m_b + wlm3.m_b;
        return tmp;
    }

void test1()
{
    WLM wlm1;
    wlm1.m_a = 10;
    wlm1.m_b = 10;

    WLM wlm2;
    wlm2.m_a = 10;
    wlm2.m_b = 10;

    WLM wlm3;
    wlm3 = wlm1 + wlm2;

    WLM wlm4;
    //wlm4 = wlm1.operator+(wlm2);

    WLM wlm5;
    wlm5 = operator+(wlm1,wlm2);

    cout << "wlm3.m_a = " << wlm3.m_a << endl
         << "wlm3.m_b = " << wlm3.m_b << endl;
    /*cout << "wlm4.m_a = " << wlm4.m_a << endl
         << "wlm4.m_b = " << wlm4.m_b << endl;*/
    cout << "wlm5.m_a = " << wlm5.m_a << endl
         << "wlm5.m_b = " << wlm5.m_b << endl;
}

int _tmain(int argc, _TCHAR* argv[])
{
    test1();
    
    system("pause");
    return 0;
}
posted @ 2022-08-02 11:57  萌萌的保镖  阅读(76)  评论(0)    收藏  举报