//以下代码mac xcode
/*
插入符“<<”和提取符“>>”的重载,可以方便用户利用标准的输入输出流来实现用定义的
对象输入和输出。
操作符的左边是流对象的别名而不是被操作的对象
插入符的重载的一般格式:
ostream& operator<<(ostream & output,类名& 对象名)
{
...//函数代码
return output;
}
提取符重载的一般格式:
istream& operator>>(istream & input,类名& 对象名)
{
...//函数代码
return input;
}
其中:
output是输出流对象cout的别名;
input是输入流对象cin的别名;
类名&对象名是自定义类型的一个对象
*/
#include <iostream>
class person
{
public:
friend std::ostream& operator<<(std::ostream& output,person one);
friend std::istream& operator>>(std::istream& input,person &one);
private:
char strName[10];//姓名
char strNo[10];//编号
int Grade;//级别
double AccumPay;//月薪
};
std::ostream& operator<<(std::ostream& output,person one)
{
output<<"员工的基本信息"<<std::endl;
output<<"姓名:"<<one.strName<<std::endl;
output<<"编号:"<<one.strNo<<std::endl;
output<<"级别:"<<one.Grade<<std::endl;
output<<"月薪:"<<one.AccumPay<<std::endl;
return output;
}
std::istream& operator>>(std::istream& input,person &one)
{
std::cout<<"请输入员工的基本信息"<<std::endl;
std::cout<<"姓名:";
input>>one.strName;
std::cout<<"编号:";
input>>one.strNo;
std::cout<<"级别:";
input>>one.Grade;
std::cout<<"月薪:";
input>>one.AccumPay;
return input;
}
int main(int argc, const char * argv[])
{
person obj;
std::cin>>obj;
std::cout<<obj;
return 0;
}
34.C++插入符和提取符运算符的重载
最新推荐文章于 2023-05-04 15:39:47 发布