gpt4 book ai didi

c++ - 在类的构造函数中初始化 ifstream 变量

转载 作者:行者123 更新时间:2023-11-30 03:38:08 29 4
gpt4 key购买 nike

如何在类的构造函数中初始化 ifstream 变量?下面给出的是类和构造函数。我正在使用初始化列表来初始化 ifstream 变量。以下代码有效。

class A
{
public:
A(ifstream& in1); // constructor

private:
ifstream& input; // reference to the input stream
};

A::A(ifstream& in1) :input(in1)
{
//counstructor used to initialise the member variables. Initialization list used to initialize.
}

为什么下面的代码不起作用?

A::A(ifstream& in1) 
{
input=in;
}

最佳答案

引用必须在声明时初始化。

A::A(ifstream& in1) :input(in1)

这会在声明时对其进行初始化。成员初始化列表是在构造函数中初始化引用的方法。

input=in;

这不是。

关于c++ - 在类的构造函数中初始化 ifstream 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39786758/

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