gpt4 book ai didi

c++ - 类中的 ifstream 变量

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:55:11 26 4
gpt4 key购买 nike

我的类(class)中必须包含 ifstream 文件。

我不知道如何在类头中显示它

答:

class MyClass
{
...
ifstream file;
...
}

乙:

class MyClass
{
...
ifstream& file;
...
}

我知道 ifstream 必须在 decaleration 中获取路径,那么我该怎么做呢?

还有如何用它打开文件?

编辑:

我想要第一种方式,但我该如何使用它的 SYNTAX-ly?

假设这是标题(部分)

class MyClass
{
string path;
ifstream file;
public:
MyClass();
void read_from_file();
bool is_file_open();
...

函数

void MyClass::read_from_file()
{
//what do I do to open it???
this->file.open(this->path); //Maybe, IDK
... // ?
}

最佳答案

您很可能想要第一个选项。第二个是对其他一些 ifstream 对象的引用,而不是属于 MyClassifstream

不需要立即给 ifstream 一个路径。您可以稍后调用 ifstreamopen 函数并为其提供路径。但是,如果您想在初始化时立即打开 ifstream,则需要使用构造函数的初始化列表:

MyClass() : file("filename") { }

如果您需要构造函数获取文件名,只需执行以下操作:

MyClass(std::string filename) : file(filename) { }

关于c++ - 类中的 ifstream 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20720271/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com