语法:
1 2 3 4 5 6 7 8 |
? //类操作符重载 return-type class-name::operator#(parameter-list) { ???? ... ?? } //全局操作符重载 ?? return-type operator#(parameter-list) { ???? ... ?? } |
关键字operator 用于重载函数.在上面语法中用特殊符(#)描述特征的操作将被重载.假如在一个类中,类名应当被指定.对于一元的操作, parameter-list 应当为空, 对于二元的操作,在operator右边的 parameter-list 应当包含操作数 (在operand 左边的被当作 this通过).
对于不属于重载函数的operator成员,在左边的操作数被作为第一个参数,在右边的操作数被当作第二个参数被通过.
#表示C++可以重载的操作符
可重载操作符
算术运算符:+,-,*,/,%,++,–;
位操作运算符:&,|,~,^,<<,>>
逻辑运算符:!,&&,||;
比较运算符:<,>,>=,<=,==,!=;
赋值运算符:=,+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=;
其他运算符:[],(),->,,(逗号运算符),new,delete,new[],delete[],->*。
下列运算符不允许重载:.,.*,::,?:
《operator作用》上有1条评论
评论已关闭。