c++函数重载运算符
时间: 2024-10-10 16:00:41 浏览: 35
使用显式存储类别时变量说明的一般格式变为-函数与运算符重载
C++允许函数重载运算符,这意味着可以为同一种操作创建多个版本的函数,但它们必须有不同的参数列表、返回类型或者是函数名加上前缀或后缀(如`+`、`-`等)。这使得我们可以自定义操作的行为,例如加法、减法、比较等。
函数重载运算符的一般规则包括:
1. **参数匹配**:函数名称加上对应的运算符,参数个数、类型和顺序都必须不同。
2. **返回类型**:如果返回类型不同,也是重载。
3. **限定符**:作用域解析运算符::也可以用于区分不同的函数,尽管这不是常规做法。
下面是一个简单的例子,展示如何重载`+`运算符:
```cpp
class Vector {
public:
// 普通的向量加法
Vector operator+(const Vector& other) const {
//...
}
// 特殊的向量连接操作
std::string operator+(const char* str) const {
//...
}
};
Vector vec1, vec2;
std::string text = "Hello, ";
vec1 = vec1 + vec2; // 向量相加
text += vec1; // 字符串与向量连接
```
阅读全文