一、运算符重载的格式
运算符重载为类的成员函数的一般格式为:
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
<函数类型> operator <运算符>(<参数表>)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
{
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
<函数体>
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
}
二.可以重载的运算符(运算符的限制)
1.可用作重载
算术运算符:+,-,*,/,%,++,--;位操作运算符:&,|,~,^,<<,>>
逻辑运算符:!,&&,||;
比较运算符:<,>,>=,<=,==,!=;
赋值运算符:=,+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=;
其他运算符:[],(),->,,(逗号运算符),new,delete,new[],delete[],->*。
2.不允许重载:
. , .* , :: , ?:三.可重载操作符的操作数必须是一个类类型(参数表的限制)
如下面格式将是错误的:
int operator+ (int,<span style="font-family: Arial;">int</span>){
return 15;
}
正确的做法:
int operator+ (Student,Student){
return 15;
}
其中Student是一个自定义类
备注:注意,并没有函数类型的限制