現在我正在嘗試設計一副牌。 我: Card.h如何對構造函數的參數進行約束
class Card {
public:
enum Suit { CLUBS = 1, SPADES, HEARTS, DIAMONDS, RED_JOKER, BLACK_JOKER };
Card(int card, Suit suit);
private:
int _card;
Suit _suit;
};
對於參數的構造函數,我打算讓卡的限制,它的範圍是1到13,所以我打算寫這樣的構造:
Card::Card(int card, Suit suit) throw (int) {
if (card < 1 || card > 13) {
delete this;
throw card;
}
}
我不認爲我寫這個構造函數的方式是優雅的。 我也考慮添加卡的枚舉。但它只適用於這個問題。 如果我需要檢查1到100000的值,那麼怎麼辦? 任何人都可以提出一些建議嗎? 非常感謝!
小的nitpick-異常說明符已被廢棄(除了'noexcept') – luke 2012-03-31 01:03:40
@luke:我什至沒有意識到。我從問題中複製構造函數,然後進行修改。你說得對,因爲異常說明符根本就沒有任何意義。 – 2012-03-31 01:07:29