이제 카드 갑판에 대한 클래스를 설계하려고합니다. 내가 가진 : 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;
};
, 나는 카드에 제약 조건을 만들려고하고, 그것의 범위는 13-1, 그래서 나는이 같은 생성자를 쓰기 위하여려고하고있다 :
Card::Card(int card, Suit suit) throw (int) {
if (card < 1 || card > 13) {
delete this;
throw card;
}
}
나는 작성자를 작성하는 방식이 우아하다고 생각하지 않습니다. 또한 카드에 enum을 추가하는 것을 고려합니다. 그러나이 질문에 대해서만 효과가 있습니다. 1에서 100000 사이의 값을 확인해야 할 경우 어떻게해야합니까? 누군가 제안 할 수 있습니까? 감사합니다.
작은 nitpick 예외 지정자가 더 이상 사용되지 않습니다. (noexcept는 예외입니다.) – luke
@luke : 나는 깨달았습니다. 질문에서 생성자를 복사 한 다음 수정했습니다. 예외 지정자가 옳다면 전혀 의미가 없습니다. –