C++中的运算符重载
运算符重载
运算符重载其实就是定义一个函数,在函数体内实现想要的功能,当用到该运算符时,编译器会自动调用这个函数。也就是说,运算符重载是通过函数实现的,它本质上是函数重载。运算符重载的格式为:
1 | 返回值类型 operator 运算符名称 (形参){ |
operator是关键字,专门用于定义重载运算符的函数。与其他函数一样,重载运算符有一个返回类型和一个参数列表。可以将operator 运算符名称 这一部分看做函数名。
例如:声明加法运算符用于把两个 Box 对象相加,返回最终的 Box 对象。大多数的重载运算符可被定义为普通的非成员函数或者被定义为类成员函数。如果定义上面的函数为类的非成员函数,那么需要为每次操作传递两个参数,如下所示:
Box operator+(const Box&, const Box&);
下面的实例使用成员函数演示了运算符重载的概念。在这里,对象作为参数进行传递,对象的属性使用 this 运算符进行访问,如下所示:
1 |
|
1 | Volume of Box1 : 210 |
可重载运算符
1 | 双目算术运算符: + (加),-(减),*(乘),/(除),% (取模) |
评论
