c++输入运算符重载,给出代码
时间: 2023-07-09 13:17:47 浏览: 56
当我们需要对自定义的类进行输入运算符重载时,可以使用以下代码:
```cpp
#include<iostream>
using namespace std;
class MyClass {
// 类的成员变量
int a;
public:
// 构造函数
MyClass() {
a = 0;
}
MyClass(int num) {
a = num;
}
// 友元函数,重载输入运算符
friend istream& operator >> (istream& input, MyClass& obj) {
input >> obj.a;
return input;
}
// 成员函数,重载输出运算符
void operator << (ostream& output) {
output << a;
}
};
int main() {
MyClass obj;
cout << "请输入一个整数:" << endl;
cin >> obj;
cout << "您输入的整数为:" << obj << endl;
return 0;
}
```
在上面的代码中,我们定义了一个名为 `MyClass` 的类,该类包括一个成员变量 `a` 和一个默认构造函数以及一个带参数的构造函数。我们使用 `friend` 关键字来声明 `operator>>` 为该类的友元函数,以便访问类的私有成员变量。在重载运算符时,`istream` 类型的输入流对象 `input` 和 `MyClass` 类型的对象 `obj` 都是参数,返回类型为 `istream&`。在 `operator>>` 函数中,我们使用输入流对象 `input` 读取用户输入的整数,并将其存储在 `MyClass` 类对象的 `a` 成员变量中。在 `main()` 函数中,我们创建了 `MyClass` 类的对象 `obj`,提示用户输入一个整数并将其存储在 `obj` 中,最后输出 `obj` 的值。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)