声明新的数字类型

时间:2013-02-04 00:24:31

标签: c++

当我使用pascal回到大学时,我了解到你可以声明一个数字范围的类型。它类似于:

<somekeyword> TypeName 1..10; or something like that.

长话短说,我想知道是否以及如何创建具有可能数值范围的类型。

提前致谢。

编辑: 对不起,如果我不清楚,我正在寻找c ++中的东西,我可以声明一个数字类型(例如字节(0..255)或DayOfYear(1..31))。

1 个答案:

答案 0 :(得分:0)

可能是这样的事情:

class range {
  int _start;
  int _end;
public:
  range(int s, int e): _start(s), _end(e) {}

  bool operator && (int n) const { return n >= _start && n <= _end; }

};

你可以用作:

range r(10,28);

if( r && 13 ) ... ;
else ... ;

或者仅仅作为

if( range(12,34) && 13 ) ... ;
else ... ;