用代码实现输入输出运算符重载
时间: 2024-08-13 11:05:13 浏览: 51
在C++中,你可以通过运算符重载(operator overloading)来改变类的对象如何参与算术运算或比较运算。特别是对于输入输出(I/O)运算符`<<`和`>>`,你可能想要自定义它们的行为以便适应特定的数据类型。以下是如何重载这些运算符的示例:
```cpp
class MyClass {
public:
// 重载输入运算符(用于左操作)
friend std::ostream& operator<<(std::ostream& os, const MyClass& obj) {
os << "MyClass: " << obj.myData; // 假设myData是类中的一个成员变量
return os;
}
// 重载输出运算符(用于右操作)
friend std::istream& operator>>(std::istream& is, MyClass& obj) {
is >> obj.myData; // 从输入流读取数据到myData
return is;
}
private:
int myData; // 类中的数据成员
};
// 使用例子
int main() {
MyClass obj;
std::cout << "Enter a value for MyClass: ";
std::cin >> obj;
// 输出
std::cout << "You entered: " << obj; // 自定义的输出形式
return 0;
}
```
阅读全文