C++中关于文件的一道习题

来源:百度知道 编辑:UC知道 时间:2024/06/05 08:47:39
下面是一个三角形类Triangle的定义:
class Triangle {
public:
Triangle(double a, double b, double c) {
x=a;
y=b;
z=c;
}
int saveToFile(ostream &outFile);
int loadFromFile(istream *inFile);
private:
Double x, y, z;
};
(1) 实现成员函数saveToFile,将对象自身保存到文件中。
(2) 实现成员函数loadFromFile,从文件中恢复对象。
(3) 编写程序使用Triangle类,并实现如下功能:
①将类Triangle的多个对象保存到一个指定文件中;
②能一次从指定文件中恢复多个对象。

#include<iostream>
#include<fstream>
using namespace std;
class Triangle
{
public:
Triangle(double a, double b, double c)
{
x=a;
y=b;
z=c;
}
int saveToFile(ostream &outFile);
int loadFromFile(istream *inFile);
private:
double x, y, z;
};
int Triangle::saveToFile(ostream &outFile)
{
outFile<<x<<" "<<y<<" "<<z<<endl;
return 0;
}
int Triangle::loadFromFile(is

看一下这样如何?
#include<iostream>
#include<fstream>
using namespace std;

class Triangle
{
public:
Triangle(double a = 0., double b = 0., double c = 0.)
{
x=a;
y=b;
z=c;
}
int saveToFile(ofstream &outFile);
int loadFromFile(ifstream &inFile);
private:
double x, y, z;
};
int Triangle::saveToFile(ofstream &outFile)
{
outFile<<x<<" "<<y<<" "<<z<<endl;
return 0;
}
int Triangle::loadFromFile(ifstream &inFile)
{
double a[3];
inFile>>a[0]>>a[1]>>a[2];
cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<endl;
return 0;
}
int main()
{
int i;
// 假定data.txt中存放有10个Triangle对象的状态数据
/*
12. 13. 14.
15. 16. 17.
18. 19. 20.
21. 22. 23.
24. 25. 26.
*/