私はカードクラスを作成したいと言います。そしてカードの列挙型enumsを定義する場所
2,3,4,5,6,7,8,9、J、Q、K、これを定義するのに最適な場所、ヘッダファイルです
を持つようにしたいですCard.hまたはCard.cpp?
私はカードクラスを作成したいと言います。そしてカードの列挙型enumsを定義する場所
2,3,4,5,6,7,8,9、J、Q、K、これを定義するのに最適な場所、ヘッダファイルです
を持つようにしたいですCard.hまたはCard.cpp?
私はあなたのカードクラスの定義では、このようにそれを行うだろう:
class Card
{
public:
typedef enum
{
Two = 0,
Three,
Four,
Five,
Six,
Seven,
Eight,
Nine,
Ten,
Jack,
Queen,
King,
Ace
} Face;
};
またはC++ 11:
class Card
{
public:
enum Face: unsigned char
{
Two = 0,
Three,
Four,
Five,
Six,
Seven,
Eight,
Nine,
Ten,
Jack,
Queen,
King,
Ace
};
};
新しいタイプになる予定です。他のコンパイル単位で必要な場合は、おそらくヘッダーファイルに記述します。
どのようにこのようなものについて:
class CCard
{
public:
CCard(void);
virtual ~CCard(void);
// Card face type
enum eCardFaceType
{
Face_2,
Face_3,
Face_4,
Face_5,
Face_6,
Face_7,
Face_8,
Face_9,
Face_10,
Face_Jack,
Face_Queen,
Face_King
};
// Card suit
enum eSuitType
{
Suit_Clubs,
Suit_Diamonds,
Suit_Hearts,
Suit_Spades
};
// Internal data.
protected:
eCardFaceType m_face;
eSuitType m_Suit;
};
列挙型を定義する最も良い方法は、ヘッダファイルで宣言することです。コンパイル時にヘッダファイルをインクルードすることで、どこでも使用できます。
数字は有効な識別子名ではありません... – ildjarn
実際には、コードのどの部分が列挙型にアクセスする必要があるかによって異なります。 – Marlon