具有std :: istream引用初始化的类

时间:2015-06-27 23:33:22

标签: c++ class istream member-initialization

我在初始化这个课时遇到了问题:

class Player{
  ///
  std::istream ∈
  ///
};

尝试这样:

Player::Player():in(cin){
  ///
}

有人能指出我如何做到这一点的正确方向吗? 此外,初始化后,我可以通过说出

之类的内容来更改引用
stringstream ss("test");
Player p;
p.in = ss;

提前致谢

1 个答案:

答案 0 :(得分:0)

您尚未声明构造函数,只定义了它。
声明构造函数并将其设置为public:

class Player{
public:
  Player(); // You need to declare the constructor
  std::istream ∈
};

Player::Player():in(cin)
{}

int main()
{
    Player p;
}
  

我可以更改参考吗?

不,您不能更改引用,只能更改引用内容的值。