#include
class Person
{
public:
Person(std::string name, int age):
m_age(age),
m_name(name)
{
}
bool operator==(Person &person)
{
std::cout << "operator==" << std::endl;
if(m_name == person.name_get() &&
m_age == person.age_get())
{
return true;
}
return false;
}
bool operator!=(Person &person)
{
std::cout << "operator!=" << std::endl;
if(m_name != person.name_get() ||
m_age != person.age_get())
{
return true;
}
return false;
}
void age_set(int age)
{
m_age = age;
}
void name_set(std::string name)
{
m_name = name;
}
int age_get()
{
return m_age;
}
std::string& name_get()
{
return m_name;
}
private:
int m_age;
std::string m_name;
};
int main()
{
using namespace std;
Person p1("furong", 10);
Person p2("quange", 10);
if(p1 == p2)
{
cout << "p1 == p2" << endl;
}
else
{
cout << "p1 != p2" << endl;
}
if(p1 != p2)
{
cout << "p1 != p2" << endl;
}
else
{
cout << "p1 == p2" << endl;
}
return 0;
}
$ ./a.out
operator==
p1 != p2
operator!=
p1 != p2