作用:重载关系运算符,可以让两个自定义类型对象进行对比操作。
示例:
#include<iostream>
#include<string>
using namespace std;
class Person
{
public:
Person(string name, int age);
string m_Name;
int m_Age;
bool operator==(Person &p)// c++中的true和false类型时bool类型。
{
if(this->m_Age==p.m_Age && this->m_Name==p.m_Name)
{
return true;
}
return false;
}
bool operator!=(Person &p)
{
if(this->m_Age==p.m_Age && this->m_Name==p.m_Name)
{
return false;
}
return true;
}
};
//两种赋值方式。
//Person::Person(string name,int age):m_Age(age),m_Name(name)
//{
//
//}
Person::Person(string name,int age)
{
m_Age=age;
m_Name=name;
}
void show()
{
Person p1("Tom",18),p2("Tom",18);
if(p1==p2)
{
cout<<"这两个类相等!!!"<<endl;
}
else
{
cout<<"这两个类不等!!!"<<endl;
}
if(p1!=p2)
{
cout<<"这两个类不等!!!"<<endl;
}
else
{
cout<<"这两个类相等!!!"<<endl;
}
}
int main()
{
show();
return 0;
}