如何用重载运算符输入括号和逗号
时间: 2024-05-16 07:12:24 浏览: 85
运算符重载
在 C++ 中,我们可以通过重载运算符来实现自定义类型的输入输出。如果要重载括号和逗号运算符,可以按照以下方式实现:
重载括号运算符:
```c++
class MyClass {
public:
// 重载括号运算符
int operator() (int a, int b) {
return a + b;
}
};
int main() {
MyClass myObj;
int result = myObj(10, 20); // 调用重载括号运算符
return 0;
}
```
在上面的示例中,我们重载了括号运算符,并定义了对两个整数进行加法计算的操作。在 main 函数中,我们创建了 MyClass 的实例 myObj,然后使用括号运算符传递两个整数参数来调用它。最终,result 变量将保存计算结果。
重载逗号运算符:
```c++
class MyArray {
public:
int operator[] (int index) {
return arr[index];
}
MyArray operator, (int value) {
arr.push_back(value);
return *this;
}
private:
vector<int> arr;
};
int main() {
MyArray myArr;
myArr, 10, 20, 30; // 重载逗号运算符
cout << myArr[0] << endl; // 输出 10
cout << myArr[1] << endl; // 输出 20
cout << myArr[2] << endl; // 输出 30
return 0;
}
```
在上面的示例中,我们定义了一个 MyArray 类来模拟一个整数数组,并重载了逗号运算符。当我们调用逗号运算符时,它将传递的整数值添加到数组中,并返回当前对象的引用。这样,我们就可以使用连续的逗号运算符来添加多个整数值。在 main 函数中,我们创建了 MyArray 类的实例 myArr,并使用重载逗号运算符来添加三个整数值。最终,我们使用重载下标运算符访问数组中的值并将它们输出。
阅读全文