作用:重载关系运算符,可以让两个自定义类型对象进行对比操作。

    示例:

    1. #include<iostream>
    2. #include<string>
    3. using namespace std;
    4. class Person
    5. {
    6. public:
    7. Person(string name, int age);
    8. string m_Name;
    9. int m_Age;
    10. bool operator==(Person &p)// c++中的true和false类型时bool类型。
    11. {
    12. if(this->m_Age==p.m_Age && this->m_Name==p.m_Name)
    13. {
    14. return true;
    15. }
    16. return false;
    17. }
    18. bool operator!=(Person &p)
    19. {
    20. if(this->m_Age==p.m_Age && this->m_Name==p.m_Name)
    21. {
    22. return false;
    23. }
    24. return true;
    25. }
    26. };
    27. //两种赋值方式。
    28. //Person::Person(string name,int age):m_Age(age),m_Name(name)
    29. //{
    30. //
    31. //}
    32. Person::Person(string name,int age)
    33. {
    34. m_Age=age;
    35. m_Name=name;
    36. }
    37. void show()
    38. {
    39. Person p1("Tom",18),p2("Tom",18);
    40. if(p1==p2)
    41. {
    42. cout<<"这两个类相等!!!"<<endl;
    43. }
    44. else
    45. {
    46. cout<<"这两个类不等!!!"<<endl;
    47. }
    48. if(p1!=p2)
    49. {
    50. cout<<"这两个类不等!!!"<<endl;
    51. }
    52. else
    53. {
    54. cout<<"这两个类相等!!!"<<endl;
    55. }
    56. }
    57. int main()
    58. {
    59. show();
    60. return 0;
    61. }

    网址:https://www.bilibili.com/video/BV1et411b73Z?p=125