C++相比C的新概念(二):重载 与 操作符重载

时间:2022-08-05 17:46:32

一、概念

  重载(overload) 简单的复用一个现存的名字,但使他操作不同的类型,它可以是函数的名字,也可以是操作符。

  C语言对内置类型(int、double)进行了操作符重载。

  而C++中允许对函数进行重载,也允许自己编写代码对操作符进行重载。

二、操作符重载示例代码  

#include <iostream>
using namespace std;

class sUnit
{
public:
        int operator+(sUnit &myUnit);
        int x;
        int y;
};

//针对unit类,重载了+操作符
int sUnit::operator+(sUnit &myUnit)
{
    return x + myUnit.x;
}

int main()
{
    sUnit u1;
    sUnit u2;

    u1.x = 1;
    u2.x = 2;
    
    //使用操作符重载
    cout<< "u1 + u2 = " << u1 + u2 <<endl;
    
    return 0;
}