34.C++插入符和提取符运算符的重载

//以下代码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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值