![]() |
Which is preferable?
I'm writing a program that uses playing cards. In my card class, I'm not hardcoding the fact that there are four suits and thirteen numbers in each, because I want it to be flexible to allow me to in the future create decks of non-standard cards, e.g. tarot cards.
So I have this: :
//suits: number of suits:
template<class card_type> class Deck:
template<unsigned suits, unsigned numbers> class DeckNote: There may be syntax errors in this post as I'm just getting back into programming after a long absense. I hope, however, that you can understand my point. If you find any errors, please correct me. |
The answer is, simply, "it depends".
The first form allows you to create a deck of any type of card (as long as the type acts in a way that your Deck expects) while the second form only supports a deck of your Card<> type. If all of your cards are going to be a specialisation of your Card class, use the second form. If you anticipate a potential need to use other types of card, use the first form. |
Thanks for the input.
|
| All times are GMT -5. The time now is 7:49 AM. |
Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC