跪求此题代码!关于运算符重载和文件操作的!

来源:百度知道 编辑:UC知道 时间:2024/05/16 04:01:33
任意设计一个类(比如point类、RMB类、Student类等),要求在类设计中对流操作符“<<”和“>>”进行重载。在主程序中声明5个该类的对象,然后将这5个对象分别以文本格式和二进制格式保存到当前目录的zrf.dat文件和zrf.bin中,之后再以字符方式和二进制方式从文件中读取数据存储到另外5个临时对象中并输出。

用C++写,很急!!!快快!!!

#include <iostream.h>
#include <fstream.h>

class point
{
public:
friend istream & operator >>(istream & is,point & p); //重载>>
friend ostream & operator <<(ostream & os,point & p); //重载<<
private:
double x;
double y;
};

istream & operator >>(istream & is,point & p)
{
cout<<"输入x和y坐标"<<endl;
return is>>p.x>>p.y;
}

ostream & operator <<(ostream & os,point & p)
{
return os<<p.x<<" "<<p.y;
}

int main()
{
point p[5];
for(int i=0;i<5;i++) //读取数据到数组
cin>>p[i];
fstream asc("zrf.dat",ios::out);
fstream bin("zrf.bin",ios::binary);
for(i=0;i<5;i++) //保存到文件
{
asc<<p[i];
bin.write((char *)&p[i],sizeof(p[i]));
}
asc.close();
bin.close();