c++ operator 重载 语法
时间: 2024-01-04 11:49:15 浏览: 59
C++中的运算符的重载
C++中的运算符重载语法如下:
```c++
返回类型 operator 运算符符号 (参数列表) {
// 运算符重载的实现
}
```
其中,`operator`是C++中的关键字,用于指示运算符重载函数;`运算符符号`是要重载的运算符符号,例如`+`、`-`、`*`、`/`等;`参数列表`是运算符重载函数的参数,可以是0个或多个参数;`返回类型`是运算符重载函数的返回类型。
例如,重载加法运算符`+`,实现两个`MyClass`对象相加的功能:
```c++
class MyClass {
public:
int value;
MyClass operator+(const MyClass& other) {
MyClass result;
result.value = this->value + other.value;
return result;
}
};
int main() {
MyClass a, b;
a.value = 1;
b.value = 2;
MyClass c = a + b;
cout << c.value; // 输出3
return 0;
}
```
在上面的例子中,重载了`+`运算符,实现了两个`MyClass`对象相加的功能。运算符重载函数的参数列表中,`const MyClass& other`表示另一个`MyClass`对象的引用。函数体中,首先创建了一个新的`MyClass`对象`result`,然后将当前对象和另一个对象的`value`值相加,将结果赋值给`result`对象的`value`成员变量。最后,将`result`对象返回。在`main`函数中,创建了两个`MyClass`对象`a`和`b`,并分别给它们的`value`成员变量赋值为1和2。然后,将`a`和`b`相加,将结果赋值给`c`,最后输出`c`的`value`成员变量,输出结果为3。
阅读全文