天天看点

c++输入输出操作符重载

输入输出操作符重载:

#include <iostream>
#include <vector>
#include <map>
#include <exception>
using namespace std;


class test
{
public:
	test(int i):t(i){}
	virtual ~test();
friend ostream& operator<<(ostream &out, const test& te);
friend istream& operator>>(istream &in, test& te);
private:
	int t;
	char *buf;
};

ostream& operator<<(ostream &out, const test& te)
{
	out << "test.t == " << te.t <<endl;
	return out;
}

istream& operator>>(istream& in, test& te)
{
	in>>te.t;
	if(!in)
		te = test(0);
	return in;
}

test::~test()
{}
int main(int argc, char *argv[])
{
	test te(7);
	cin >> te;
	cout <<unitbuf<< te;   //unitbuf用于刷新所有数据输出
    return 0;
}