本人小白一枚,因近日考试,有关函数重载方面容易混淆,故自己总结一番,放在这和大家分享交流,能力有限 欢迎指正
只能重载为类的成员函数的运算符:= [] () ->
运算符重载语法: 返回类型 operator @ 参数表
二元运算符:
class A
{};
//重载为类的成员函数
A operator + (A &q)
//重载为类的友元函数
friend A operator +(A &p,A &q)
一元运算符:
T operator @()
@ 代表所有的重载为类成员函数的一元运算符,像++ --实现连续自增 连续自减的运算符,其重载函数要返回对象的引用。区别在于,一个返回的是对象引用,一个返回的是一个调用拷贝构造函数的新对象
T & operator ++ (T &t);
重载[]
x &operator[]()
重载输出、输入运算符:
friend ostream & operator <<(ostream &os,T &s)
friend istream & operator >>(istream &is,T &s)