您的位置:首页 > 编程语言 > C语言/C++

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

2014-12-16 14:02 225 查看
#include<iostream>
#include<string>
using namespace std;
class Person{
private:
string name;
int age;
public:
Person(string n,int a):name(n),age(a){}
friend ostream& operator<<(ostream&,const Person&);
friend istream& operator>>(istream&,Person&);
};

//ios操作符必须为非成员函数
//1.ostream& 为第一个参数
//2.类类型const对象的引用作为第二个参数
//3.返回对ostream形参的引用
ostream&
operator<<(ostream& os,const Person &person){
os<<person.age<<"----"<<person.name<<endl;
return os;
}

//输入操作符重载
//1.istream& 作为第一个参数
//2.类类型的引用不能为const
//3.返回对istream形参的引用
istream&
operator>>(istream& in,Person &person){
cout<<"请输入年龄和姓名:";
in>>person.age>>person.name;
return in;
}
int main(){
Person p("huang",5);
cout<<p;
cin>>p;
cout<<p;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: