Dire che voglio creare una classe di carte. e vogliono avere le enumerazioni per le schedeDove definire le enumerazioni
2,3,4,5,6,7,8,9, J, Q, K, A
Dov'è il posto migliore per definire questo, il file di intestazione Card.h o Card.cpp?
Dire che voglio creare una classe di carte. e vogliono avere le enumerazioni per le schedeDove definire le enumerazioni
2,3,4,5,6,7,8,9, J, Q, K, A
Dov'è il posto migliore per definire questo, il file di intestazione Card.h o Card.cpp?
vorrei fare in questo modo, nella definizione della classe carta:
class Card
{
public:
typedef enum
{
Two = 0,
Three,
Four,
Five,
Six,
Seven,
Eight,
Nine,
Ten,
Jack,
Queen,
King,
Ace
} Face;
};
o C++ 11:
class Card
{
public:
enum Face: unsigned char
{
Two = 0,
Three,
Four,
Five,
Six,
Seven,
Eight,
Nine,
Ten,
Jack,
Queen,
King,
Ace
};
};
Sarà un nuovo tipo. Quindi probabilmente lo inserirò nel file di intestazione nel caso in cui ne avessi bisogno in altre unità di compilazione.
Che ne dite di qualcosa di simile:
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;
};
Il modo migliore per definire l'enumerazione è dichiararlo nel file di intestazione. Quindi, puoi usarlo ovunque tu voglia includendo quel file di intestazione durante la compilazione.
Naturalmente, i numeri non sono nomi di identificatori validi ... – ildjarn
Dipende davvero da quali parti del codice è necessario accedere all'enumerazione. – Marlon