943,876 Members | Top Members by Rank

Ad:
  • C++ Discussion Thread
  • Unsolved
  • Views: 455
  • C++ RSS
Feb 18th, 2009
0

How do I get classes within a class???

Expand Post »
For instance... I have the class Deck, which represents a deck of cards, and I want another class, derived from that, called cards, I want class Deck to have a class array called Cards[52], so I can assign all the different values and strings to the individual Cards class instances and have the class Deck do things to the deck as a whole... Im talkin something like this
C++ Syntax (Toggle Plain Text)
  1. class Deck{
  2. protected:
  3. class Cards[52]; // This doesnt work to have multiple instances in the class
  4.  
  5. public:
  6. void Shuffle();
  7.  
  8. };
  9.  
  10. class Cards : public Deck{
  11. Cards(int,string);
  12. };

ik that you might not understand why i want to do this in two different classes, but i do... so please just gimme a clear cut answer. please and thank you!
Similar Threads
Reputation Points: 10
Solved Threads: 3
Junior Poster in Training
Manutebecker is offline Offline
51 posts
since May 2008
Feb 18th, 2009
0

Re: How do I get classes within a class???

Don't define class Card within class Deck.
Create a card class.
Then let deck class contain an array of card objects

class Card {
string suit;
int value;
///more stuff
};

class Deck{
Card theDeck[52];
//more stuff
};
Reputation Points: 1268
Solved Threads: 228
Posting Virtuoso
vmanes is offline Offline
1,895 posts
since Aug 2007
Feb 18th, 2009
0

Re: How do I get classes within a class???

When I had to use two classes that interlaced, I wrote my first class out, then wrote the second class out, then had a variable in the second class that called the first class. For your example, I would write out what you want class Card to do. Then write out what you want class Deck to do, and when you know where they overlap, use a variable that jumps between the classes.

For me, I'm going to call my classes Deck and PCards so I can make sure it all makes sense. So, say you want class Deck to shuffle the cards. You would try something like this:
C++ Syntax (Toggle Plain Text)
  1. PCards Shuffle (PCards cards[], int 52)
  2. {
  3. cards.randomize();
  4. return cards;
  5. }

Where they would be a function in class PCards that would randomize them. Now, that's just off the top of my head, and I don't know what you are trying to do, but that's how I handled having two classes.
Reputation Points: 18
Solved Threads: 10
Junior Poster
DemonGal711 is offline Offline
190 posts
since Apr 2008

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C++ Forum Timeline: Creating a c++ program
Next Thread in C++ Forum Timeline: What is wrong with the following class definition?





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC