1

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

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

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

提前致谢。

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

4

1 回答 1

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 ... ;
于 2013-02-04T00:43:48.577 回答