c++编写类通过友元实现流运算符的重新定义
下面是一个示例代码:
#include<iostream>
using namespace std;
class MyClass{
private:
int num;
public:
MyClass(int n){
num = n;
}
friend ostream& operator<<(ostream& os, const MyClass& obj);
friend istream& operator>>(istream& is, MyClass& obj);
};
ostream& operator<<(ostream& os, const MyClass& obj){
os << obj.num;
return os;
}
istream& operator>>(istream& is, MyClass& obj){
is >> obj.num;
return is;
}
int main(){
MyClass obj1(10);
cout << "obj1: " << obj1 << endl;
MyClass obj2(0);
cout << "Enter a number: ";
cin >> obj2;
cout << "obj2: " << obj2 << endl;
return 0;
}
在上面的代码中,我们定义了一个名为MyClass的类,其中包含一个私有成员变量num。我们使用友元函数重载了流插入运算符<<和流提取运算符>>,使得我们可以通过cout和cin对象来打印和输入MyClass对象的成员变量num。在main函数中,我们创建了两个MyClass对象,其中一个是通过构造函数初始化的,另一个是通过cin输入的。最后,我们使用cout打印出这两个对象的成员变量num
原文地址: https://www.cveoy.top/t/topic/ffvd 著作权归作者所有。请勿转载和采集!