954,504 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

How do I get classes within a class???

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

class Deck{
protected:
class Cards[52];   // This doesnt work to have multiple instances in the class

public:
void Shuffle();

};

class Cards : public Deck{
Cards(int,string);
};

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!

Manutebecker
Junior Poster in Training
51 posts since May 2008
Reputation Points: 10
Solved Threads: 3
 

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
};

vmanes
Posting Virtuoso
1,914 posts since Aug 2007
Reputation Points: 1,268
Solved Threads: 228
 

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:

PCards Shuffle (PCards cards[], int 52) 
{
   cards.randomize();
   return cards;
}


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.

DemonGal711
Junior Poster
190 posts since Apr 2008
Reputation Points: 18
Solved Threads: 10
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You