C ++中的布尔值响应

时间:2014-10-04 14:08:38

标签: c++

拜托,有没有办法直接从c ++中的用户获得布尔值响应?例如,我希望用户回答是或否,但我不想将响应存储在字符或字符串变量中,而是直接存储到布尔变量中。感谢。

2 个答案:

答案 0 :(得分:1)

将变量声明为bool,并将输入设为0或1,分别视为false或true。

bool b;
cin >> b;

答案 1 :(得分:1)

class ReadBool {
public:
  ReadBool(bool& v) : v_(v) {}
  void Parse(istream& is) const {
    string s;
    is >> s;
    v_ = (s == "yes");  // adjust to taste
  }
private:
  bool& v_;
};

istream& operator>>(istream& is, const ReadBool& rb) {
  rb.Parse(is);
  return is;
}

现在你可以做到

bool b;
cin >> ReadBool(b);