2013年3月算法练习(四) 重载输入、输出

来源:互联网 发布:北大元培学院知乎 编辑:程序博客网 时间:2024/06/08 14:58
#include<iostream>#include<string.h>using namespace std;class Fruit;ostream &operator<<(ostream &out,const Fruit &s) ;istream &operator>>(istream &inn,const Fruit &s);class Fruit //定义一个类 Fruit{public:string name; //定义两个成员string colour;friend istream& operator>>(istream&, const 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 &inn,const Fruit &s)//输入操作符重载{inn>>s.colour>>s.name;if(!inn)cerr<<"Wrong input!"<<endl;return inn;}int main(int argc,char *argv[]){Fruit apple;cin>>apple;cout<<apple;return 0;}


 

原创粉丝点击