operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,
一、为什么使用操作符重载
简单的说我们基本数据比如int float 都可以比较大小 有>、<、=,但是对象需要比较大小怎么办,我们也可以用>、<、=,只不过我们需要一个通用的规范比较对象的属性,这个时候需要operator来实现。
二、实现重载的操作符
先看简单代码类成员函数实现重载和非类成员函数(全局函数)
1)、操作符重载实现为类成员函数
重载的操作符在类体中被声明,声明方式如同普通成员函数一样,只不过他的名字包含关键字operator,以及紧跟其后的一个c++预定义的操作符。
可以用如下的方式来声明一个预定义的==操作符:
理解时应将operator==整体上视为一个函数名。
这里,因为operator ==是class person的一个成员函数,所以对象p1,p2都可以调用该函数,上面的if语句中,相当于p1调用函数==,把p2作为该函数的一个参数传递给该函数,从而实现了两个对象的比较。