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{
class Cards[52];   // This doesnt work to have multiple instances in the class

void Shuffle();


class Cards : public Deck{

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!

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

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) 
   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.

This article has been dead for over six months. Start a new discussion instead.