一 . “+”(加号)运算符重载
#include <iostream>
using namespace std;
class Person
{
friend Person operator+(Person &p1,Person &p2);
private:
int age;
public:
Person(){}
void setAge(int n)
{
age = n;
}
void showAge()
{
cout<<age<<endl;
}
};
Person operator+(Person &p1,Person &p2){
Person temp;
temp.age = p1.age + p2.age;
return temp;
}
int main(){
Person p1;
p1.setAge(1);
Person p2;
p2.setAge(2);
Person p3 = p1 + p2;
p3.showAge();
}
二. “<<”(左移)运算符重载
#include <iostream>
using namespace std;
class Man
{
friend ostream & operator<<(ostream &cout,Man &m);
private:
string m_name;
int m_age;
public:
Man(string name,int age){
this->m_name = name;
this->m_age = age;
}
};
ostream & operator<<(ostream &cout,Man &m)
{
cout<<"My name is : "<<m.m_name<<endl;
cout<<"My age is : "<<m.m_age<<endl;
return cout;
}
int main(){
Man man("Tom",11);
cout<<man<<endl;
}