operator+
#include <iostream>
using namespace std;
class Person
{
public:
int m_Name;
int m_Age;
Person operator+(Person &p)
{
Person temp;
temp.m_Age = this->m_Age + p.m_Age;
temp.m_Name = this->m_Name + p.m_Name;
return temp;
}
};
int main()
{
Person p1;
p1.m_Age = 19;
p1.m_Name = 20;
Person p2;
p2.m_Age = 19;
p2.m_Name = 20;
Person p3 = p1 + p2;
cout << p3.m_Age << p3.m_Name << endl;
return 0;
}
operator<< 左移运算符重载
#include <iostream>
using namespace std;
#include <string>
class Persons
{
friend ostream& operator<<(ostream& cout, Persons& p);
private:
int m_Age;
string m_Name;
public:
Persons(int age,string name)
{
m_Age = age;
m_Name = name;
}
};
//想要模拟cout在左侧就要利用全局函数
ostream& operator<<(ostream& cout, Persons& p)
{
cout << p.m_Age << p.m_Name;
return cout;
}
int main()
{
Persons p(50,"godv");
cout << p << p << endl;
return 0;
}