2

これは非常に初歩的な質問であることはわかっていますが、整数の間隔を定義するにはどうすればよいですか?

整数Xをにしたい場合56<= X <=1234、どのように X を宣言しますか?

4

1 に答える 1

1

最善の方法は、独自の整数クラスを作成し、その上に境界を持ち、 のようなオーバーロードされた演算子+*および==基本的に通常の整数が持つことができるすべての ops を作成することです。数値が高すぎたり低すぎたりした場合の動作を決定する必要があります。クラスを開始します。

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);
}  

あなたの質問のようなスタックオーバーフローに関する質問があります。それは私がやっていたことのより完全なバージョンを持っています.初心者にとっては消化するのが少し難しいかもしれませんが、それはまさにあなたが望むもののようです.

于 2013-08-03T14:59:41.370 に答える