2

我知道这是一个非常菜鸟的问题,但是如何定义整数的间隔?

如果我想要一个整数X56<= X <=1234我该如何声明 X ?

4

1 回答 1

1

最好的方法是创建自己的整数类,上面有边界和重载的运算符,比如,+基本上是普通整数可以拥有的所有操作。当数字太高或太低时,您将不得不决定行为,我会在课堂上给您一个开始。 *==

struct mynum {
    int value;
    static const int upper = 100000;
    static const int lower = -100000;
    operator int() {
        return value;
    }
    explicit mynum(int v) {
        value=v;
        if (value > upper)value=upper;
        if (value < lower)value=lower;
    } 
};
mynum operator +(const mynum & first, const mynum & second) {
   return mynum(first.value + second.value);
}  

stackoverflow 上有一个问题,就像你的问题一样。它有我正在做的更完整的版本,对于初学者来说可能有点难以消化,但它似乎正是你想要的。

于 2013-08-03T14:59:41.370 回答