1

大学でパスカルを使っていたとき、数字の範囲である型を宣言できることを学びました。それは次のようなものでした:

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

簡単に言えば、可能な数値の範囲を持つ型を作成できるかどうか、そしてどのように作成できるのか疑問に思いました。

前もって感謝します。

編集:申し訳ありませんが、私が明確でなかった場合、私は数値型を宣言できるC ++で何かを探しています(たとえば、byte(0..255)またはDayOfYear(1..31))。

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 に答える