介绍
本文主要介绍 插入(>>) and 提取(<<)的运算符重载
1.插入(>>) 提取(<<)只能是友元函数
2.插入关键词istream
例子:istream& operator>>(istream& in, sumber&Left)
3.提取关键词ostream
例子:ostream& operator<<(ostream& in, sumber&Left);
4.PS:插入(istream) and 提取(ostream)重载的话类型后面 必须加上&
源码
#include<iostream>
using namespace std;
class sumber
{
//友元 插入(>>)重载
friend istream& operator>>(istream& in, sumber&operand);
//友元 提取(<<)重载
friend ostream& operator<<(ostream& out, sumber&operand);
public:
//初始化构造函数
sumber(int real = 0, int vir = 0) :m_real(real), m_vir(vir){}
private:
int m_real;
int m_vir;
};
//插入(>>)重载
istream& operator>>(istream& in, sumber&operand)
{
//设置插入方法(步骤)
in >> operand.m_real >> operand.m_vir;
//返回插入流
return in;
}
//提取(<<)重载
ostream& operator<<(ostream& out, sumber&operand)
{
//设置提取方法(步骤)
out << operand.m_real <<" "<< operand.m_vir;
//返回插入流
return out;
}
void main()
{
sumber cp1(30,10);
//通过重载操作实现cp1的输入输出
cin >> cp1;
cout << cp1 << endl;;
system("pause");
}
运行结果
50 60
50 60
请按任意键继续. . .