2013-02-04 42 views
1

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

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

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

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

+0

这是Pascal和C++? – Rapptz

+0

这是我对帕斯卡所写的东西的难以记忆。我不知道这两种语言到底是什么样子,但我希望它能够传递信息。 –

+0

那你到底想要什么?从N到M的值的数组?这并不完全清楚。 – Rapptz

回答

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 ... ; 
+1

是的,我在想做一些聪明的班。但生病可能只是将其留给具体案例进行验证。我的意思是,如果这个人想在五月三十六日出生,我是谁来阻止他? –