重载>>在课堂上与instream

时间:2016-06-28 09:10:20

标签: c++ operator-overloading

我有以下代码:

<div class="col-md-6 col-sm-12">
  <!-- Links -->
</div>
<div class="col-md-6 hidden-sm hidden-xs">
  <!-- Twitter -->
</div>
<div class="col-sm-12">
  <!-- Content -->
</div>
<div class="col-sm-12 hidden-md hidden-lg">
  <!-- Twitter -->
</div>

我想用

class someclass
{
     private :
     unsinged char a; 
     public :
      ...
}

我的问题是,作为用户,我想在0-255之间插入一个整数。但是,它只接受单个字符。我该怎么把它“投”到整数呢?

谢谢。

问候。

1 个答案:

答案 0 :(得分:0)

  

我该怎么把它“投”到整数?

使用临时整数进行输入:

std::istream& operator>>(std::istream &in,  someclass &x)
{
    int temp;
    if(!(in>>temp) || temp < 0 || temp > 255) 
        { throw std::runtime_error("Invalid input"); }
    x.a = (unsigned char)temp;
    return in;
}