现在的位置: 首页 > 综合 > 正文

C++重载输入输出操作符–Demo

2013年08月21日 ⁄ 综合 ⁄ 共 552字 ⁄ 字号 评论关闭
#include <iostream>
#include <string>
using namespace std;

class Fruit
{
private:
	string name;
	string colour;
public:
	friend istream &operator >> (istream &,Fruit &);
	friend ostream &operator << (ostream &,const Fruit &);

	void print()
	{
		cout << colour <<" "<<name<<endl;
	}
	Fruit(const string &nst="apple",const string &cst="green"):name(nst),colour(cst)
	{

	}
	~Fruit()
	{

	}
};


ostream &operator << (ostream &out, const Fruit &s)
{
	out << s.colour<<" "<<s.name;
	return out;
}

istream &operator >> (istream &in, Fruit &s)
{
	in >> s.colour >> s.name;
	if(! in)
	{
		cerr << "Wrong input !"<<endl;
	}
	return in;
}

int main()
{
	Fruit apple;
	cout << apple;
	return 0;
}

抱歉!评论已关闭.