一个类如何用构造函数把数据从文件中输入输出
时间: 2024-03-07 13:49:41 浏览: 152
在一个类中,可以使用构造函数来从文件中读取数据,并将数据存储到类的成员变量中。同时,也可以使用析构函数将数据写回到文件中。
下面是一个简单的示例:
```c++
#include <iostream>
#include <fstream>
using namespace std;
class Book {
public:
string title;
double price;
// 构造函数,从文件中读取数据
Book(string filename) {
ifstream ifs(filename);
ifs >> title >> price;
ifs.close();
}
// 析构函数,将数据写入文件
~Book() {
ofstream ofs("book.txt");
ofs << title << " " << price << endl;
ofs.close();
}
};
int main() {
// 创建一个Book对象,从文件中读取数据
Book book("book.txt");
// 输出读取到的数据
cout << "Title: " << book.title << endl;
cout << "Price: " << book.price << endl;
// 修改数据
book.title = "New Title";
book.price = 9.99;
// 当对象离开作用域时,析构函数会将数据写入文件
return 0;
}
```
在上面的例子中,Book类中有一个构造函数,它接受一个文件名作为参数,并从文件中读取书籍的标题和价格,并将它们存储到类的成员变量中。同时,Book类中还有一个析构函数,它在对象销毁时将数据写回到文件中。
在主函数中,我们创建了一个Book对象,并调用了它的构造函数。然后,我们输出了从文件中读取到的数据。接着,我们修改了数据,并在程序结束时自动调用析构函数,将数据写回到文件中。
这只是一个简单的例子,实际上,您可以根据需要进行更复杂的操作,例如使用构造函数从文件中读取多个数据项,并将它们存储到一个数组或向量中。