C++——运算符重载(1)

*爱你&永不变心* 提交于 2019-11-28 07:53:45

运算符重载编程基础

 

 

例如:

    //全局函数 完成 +操作符 重载  Complex operator+(Complex &c1, Complex &c2)

//类成员函数 完成 -操作符 重载   Complex operator-(Complex &c2)

 

#include <iostream>
using namespace std;

class Complex
{
public:
    int a;
    int b;
public:
    Complex(int a=0, int b=0)
    {
        this->a = a;
        this->b = b;
    }
    void printCom()
    {
        cout<<a<<" + " << b << "i" <<endl;
    }
};

//2 函数名 升级
Complex operator+(Complex &c1, Complex &c2)
{
    cout<<"12345上山 打老虎"<<endl;
    Complex tmp(c1.a + c2.a, c1.b+ c2.b);
    return tmp; //
}

void main()
{
    
    int a = 0, b = 0;
    int c;
    c = a + b; //1 基础数据类型 编译器已经知道了. 如何运算

    // a + bi 复数运算规则
    Complex c1(1, 2), c2(3, 4);
    Complex c3; //2 类 也是一种数据类型  用户自定义数据类型 C++编译器 是不知道如何进行运算
    
    //步骤3 
    Complex c4 = c1 + c2;
    c4.printCom();


    //总结: 1 运算符重载的本质 是 函数调用 

    cout<<"hello..."<<endl;
    system("pause");
    return ;
}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!