8月24日 C++ day4

实现关系运算符的重载

#include <iostream>

using namespace std;

class Person
{
  friend bool operator>(const Person &p1, const Person &p2);
  friend bool operator>=(const Person &p1, const Person &p2);
  friend bool operator<(const Person &p1, const Person &p2);
  friend bool operator<=(const Person &p1, const Person &p2);
  friend bool operator==(const Person &p1, const Person &p2);
  friend bool operator!=(const Person &p1, const Person &p2);
private:
  int a;
  int b;
public:
  Person() {}

  Person(int a, int b):a(a), b(b) {}

  void show()
  {
    cout << "a = " << a << " b = " << b << endl;
  }
};

bool operator>(const Person &p1, const Person &p2)
{
  if (p1.a > p2.a && p1.b > p2.b)
  {
    return true;
  }
  else
    return false;
}

bool operator>=(const Person &p1, const Person &p2)
{
  if (p1.a >= p2.a && p1.b >= p2.b)
  {
    return true;
  }
  else
    return false;
}

bool operator<(const Person &p1, const Person &p2)
{
  if (p1.a < p2.a && p1.b < p2.b)
  {
    return true;
  }
  else
    return false;
}

bool operator<=(const Person &p1, const Person &p2)
{
  if (p1.a <= p2.a && p1.b <= p2.b)
  {
    return true;
  }
  else
    return false;
}

bool operator==(const Person &p1, const Person &p2)
{
  if (p1.a == p2.a && p1.b == p2.b)
  {
    return true;
  }
  else
    return false;
}

bool operator!=(const Person &p1, const Person &p2)
{
  if (p1.a != p2.a || p1.b != p2.b)
  {
    return true;
  }
  else
    return false;
}

int main()
{
  Person p1(12, 24);

  Person p2(13, 24);

  if (p1 > p2)
  {
    cout << "p1 > p2" << endl;
  }

  if (p1 >= p2)
  {
    cout << "p1 >= p2" << endl;
  }

  if (p1 < p2)
  {
    cout << "p1 < p2" << endl;
  }

  if (p1 <= p2)
  {
    cout << "p1 <= p2" << endl;
  }

  if (p1 == p2)
  {
    cout << "p1 == p2" << endl;
  }
  
  if (p1 != p2)
  {
    cout << "p1 != p2" << endl;
  }

  
  return 0;
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值