1. ==cCard==
Option Explicit
Private p_strSuit As String
Private p_strName As String
Private p_iValue As Integer
Public Property Let Suit(strSuit As String)
p_strSuit = strSuit
End Property
Public Property Get Suit() As String
Suit = p_strSuit
End Property
Public Property Let Name(strName As String)
p_strName = strName
End Property
Public Property Get Name() As String
Name = p_strName
End Property
Public Property Let Value(iValue As Integer)
p_iValue = iValue
End Property
Public Property Get Value() As Integer
Value = p_iValue
End Property
==cPack==
Option Explicit
Private aPack(52) As CCard
Private iCnt As Integer
Private iOffset As Integer
Private strSuit(4) As String
Private Sub Class_Initialize()
Dim intIndex As Integer
strSuit(0) = "Clubs"
strSuit(1) = "Hearts"
strSuit(2) = "Spades"
strSuit(3) = "Diamonds"
For iOffset = 0 To 3
For iCnt = 1 To 13
intIndex = iCnt + (iOffset * 13)
Set aPack(intIndex) = New CCard
aPack(intIndex).Value = iCnt
aPack(intIndex).Suit = strSuit(iOffset)
Next
Next
End Sub
Public Property Get Card(iCard As Integer) As CCard
Set Card = aPack(iCard)
End Property