1、重载关键字:operator
2、格式: 返回值 operator 运算符(参数){函数内容}
3、场景:在两个对象之间的变量
4、实现方法:
1.成员函数实现方式:
双目: 类名& operator运算符(类名& temp);
单目 类名& operator运算符();
2.友元函数实现方式:
双目:friend 类名 operator运算符(const 类名& temp,const 类名& my);
单目:friend 类名 operator运算符(const 类名& temp);
3.全局函数的实现方式:
单目:类名 operator运算符(const 类名& temp);
双目:类名 operator运算符(const 类名& other,const 类名& my);
4.特殊运算符重载方式:
输入流: istream& 类名>>(istream& is,类名& temp);
输出流:ostream& 类名 << (ostream& os, const 类名& temp);
5、注意事项:
1.运算符重载后,重载后的运算符即可按照原来的风格调用;
2.不可以重载新的运算符(比如$),也不可以修改原来运算符的结合方式(如:a++b);
3.空类中,默认添加无参构造,析构,this,浅拷贝;
4.输出流和输入流都不可以用成员函数;
5.赋值运算符重载只能用成员函数。
6、代码部分: