一.简介
C++内置类型能够用一般运算符进行操作,而对于自定义类型来说,就要用重载运算符来对两个类对象进行操作
常见的重载运算符有: + - * / ==等
二.两个类型比较
//1.声明 class person{ private: int age; public: person(int a){ this->age=a; } inline bool operator == (const person &ps) const; }; //2.定义 bool person::operator== (const person &ps) const{ if(this->age==ps.age){ return true; } return false; } //3.调用 int main(){ person p1(10); person p2(20); if(p1==p2){ ... } }
//全局重载运算符,没有this指针 bool operator== (person& p1,person const& p2){ if(p1.age==p2.age){ return true; } return false; }