ep9_5.cpp

来自「这里有大量的c语言习题呢!真的是题海哦」· C++ 代码 · 共 52 行

CPP
52
字号
/*9.1	重载学生类的"<<"和">>"运算符。*/
#include<fstream>
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
class  student{
	int   id ;           //学号
	string name;         // 姓名
	char  sex;          // 性别
	int   age;          // 年龄
	string  address;      //家庭地址
	float  eng, phy, math, electron;     //英语,物理,数学和电子学成绩
public:
	student(int=0,string="#",char='#',int=0,string="#",float=0,float=0,float=0,float=0);
	friend ostream&operator<<(ostream&dest,student&st);   //重载插入运算符
	friend istream&operator>>(istream&sour,student&st);   //重载提取运算符
};   //流类作为形式参数必须是引用
student::student(int i,string n,char s,int a,string add,float en,float ph,float ma,float ele){
	id=i;
	name=n;
	sex=s;
	age=a;
	address=add;
	eng=en; phy=ph; math=ma; electron=ele;
}
ostream&operator<<(ostream&dest,student&st){   //重载插入运算符
	dest<<st.id<<'\t'<<st.name<<'\t'<<st.sex<<'\t'<<st.age<<'\t'<<st.address<<'\t'
		<<st.eng<<'\t'<<st.phy<<'\t'<<st.math<<'\t'<<st.electron<<endl;
	return dest;
}
istream&operator>>(istream&sour,student&st){   //重载提取运算符
	cout<<"请输入学号:"<<endl;
	sour>>st.id;
	cout<<"请输入姓名:"<<endl;
	sour>>st.name;
	cout<<"请输入性别:"<<endl;
	sour>>st.sex;
	cout<<"请输入年龄:"<<endl;
	sour>>st.age;
	cout<<"请输入地址:"<<endl;
	sour>>st.address;
	cout<<"请输入英语、物理、数学、电子各科成绩:"<<endl;
	sour>>st.eng>>st.phy>>st.math>>st.electron;
	return sour;
}
int main(){
	student st1,st2(2104105,"陈英",'m',19,"黄山路380号",89,78,90,96);
	cin>>st1;
	cout<<st1<<st2;
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?