#include<iostream>
using namespace std;
class Person {
public:
string name;
int age;
Person(string n, int a)
{
name = n;
age = a;
}
//friend bool operator==(Person& p1, Person& p2); 使用友元
//成员函数实现函数关系符重载==
bool operator==(Person& p) {
if (name == p.name && age == p.age) {
return true;
}
return false;
}
//
bool operator!=(Person& pp) {
if (name == pp.name && age == pp.age) {
return true;
}
return false;
}
};
全局函数实现关系符重载
//bool operator==(Person& p1,Person &p2) {
// if (p1.name == p2.name && p1.age == p2.age) {
// return true;
// }
// return false;
//}
void test01()
{
Person p1("huanggang",18);
Person p2("huanggang",18);
Person p3("huanggang", 11);
Person p4("huanggang", 18);
if (p1 == p2) {
cout << "相等" << endl;
}
else {
cout << "不相等" << endl;
}
if (p3 == p4) {
cout << "相等" << endl;
}
else {
cout << "不相等" << endl;
}
}
int main()
{
//test01();
test01();
return 0;
}
C++关系运算符重载
最新推荐文章于 2024-07-14 13:39:50 发布