一、实验目的
1、掌握用户自定义类型的输入输出。2、掌握文件的输入、输出。
二、实验内容
1、定义一个复数类,并为其重载>>和<<运算符,使得复数对象可以整体输入输出,并给出main()对该类进行应用。1 #include2 3 using namespace std; 4 5 //复数类 6 class complex 7 { 8 private: 9 float real;10 float imag;11 public:12 friend istream &operator>>(istream &in,class complex &temple);//重载输入运算符13 friend ostream &operator<<(ostream &out,class complex &temple);//重载输出运算符14 };15 int main()16 {17 int i;18 complex obj;19 for(i=0;i<4;i++)20 {21 cout<<"请输入复数的实部和虚部:";22 cin>>obj;23 cout< >(istream &in,class complex &temple)30 {31 in>>temple.real;32 in>>temple.imag;33 return in;34 }35 36 //重载输出运算符37 ostream &operator<<(ostream &out,complex &temple)38 {39 out< 0)42 {43 out<<'+';44 }45 out< <<'i'<
2、定义空间中的点类(有x,y,z坐标),并重载其>>和<<运算符。编写主函数完成从键盘上读入10个点的坐标,写入数据文件(point.data)中,从数据文件(point.data)中读入并显示在标准输出设备上。
1 #include2 #include 3 #define MAX 10 4 5 using namespace std; 6 7 //点类 8 class point 9 {10 public:11 float x;12 float y;13 float z;14 friend istream& operator>>(istream& in,point &temple);//重载输入运算符15 friend ostream& operator<<(istream& out,point &temple);//重载输出运算符16 };17 18 int main()19 {20 int i;21 point obj[MAX];22 cout<<"请输入10个点的坐标:"< >obj[i];26 }27 ofstream out("point.data");//打开输出文件流28 if(out)//如果打开成功29 {30 for(i=0;i >obj[i].x>>obj[i].y>>obj[i].z;43 cout<<'('< <<','< <<','< <<')'< >(istream& in,point &temple)52 {53 in>>temple.x>>temple.y>>temple.z;54 return in;55 }56 57 //重载输出运算符58 ostream& operator<<(ostream& out,point &temple)59 {60 out< < <