I am working on a program that will deal cards using classes. KI have somewhat of a start but am confused on a couple things. Here is what I'm supposed to do:
Construct a class definition that can be used to represent a deck of cards. Each card deck is defined by an integer array of 52 cards and an integer indicating the last card position for undealt cards. The services provided by the class should be the ability to deal a single card from the set of undealt cards, and the ability to shuffle the deck by setting the last card position back to 51.

The main program will deal and display 2 hands of 5 cards, shuffle the deck and then deal and display 2 more hands of 5 cards.

The card representation is like this
suit 1-4 1=clubs, 2 = diamonds, 3 = hearts, 4=spades
value 1 = ace 2-10=value of card, 11 = jack, 12 = queen ,13 = king

I have attempted some of it so far but I don't really know if i'm suppoed to generate 52 random numbers and put the numbers into the array or? Also I don't really know how to deal the cards. I am just overall really confused. Here is what I have so far

Code:
#include <iostream>
#include<ctime>
using namespace std;


class Cards
{
private:
	int deck[52];
	int card;

public:
	Cards(int[], int); //Constructor
	void deal(int, int);
	void shuffle(int, int);
};

Cards::Cards(int deck[], int card)
{
  srand(time(NULL));
  int suitRand = rand() % 4 + 1;
  int valRand = rand() % 13 +1;
}

void Cards::deal(int deck, int card) 
{
All help/advice is appreciated.