C++运算符重载规则
重载的运算符必须是C++中已有的运算符。
重载运算符的参数个数必须与原来的运算符相同。
重载运算符的优先级和结合性与原来的运算符相同。
重载运算符必须是类的成员函数或全局函数。
重载运算符不能改变原有的语义。
不能改变运算符的操作数类型,只能扩展运算符的操作数类型。
如果是类的成员函数,那么第一个参数必须是该类的对象。
如果是全局函数,那么第一个参数必须是该运算符的操作数类型。
下面小林写几个具体的运算符重载 demo:
1、+号运算符重载
编译运行结果:
2、< 号运算符重载
编译运行结果:
3、输入输出运算符重载
编译运行结果:
需要注意的是,不是所有的运算符都能够被重载。
像条件运算符(?:)、作用域运算符(::)、成员选择运算符(.)都不能被重载。