C++ でポーカー確率プログラムを作成しています。プログラムはデッキを作り、それをシャッフルし、5 枚のカードを配り、あなたが持っているハンドの種類を決定します。これは 16000 回実行され、出てくるハンドの平均数を推定します。
カードクラス、デッキクラス、ハンドクラスの3クラスを作りました。カード クラスにはスーツの文字とランクの int があり、デッキ クラスにはプライベートである必要がある 52 枚のカードのベクトルがあり、ハンド クラスにはプライベート メンバーである必要がある 5 枚のカードのベクトルがあります。デッキ クラスには、デッキの最初の 5 枚のカードをハンド ベクターにコピーする dealHand() 関数が必要ですが、ハンド ベクターを非公開にする必要があり、デッキ クラスからアクセスできない場合はどうすればよいでしょうか。 ?
これは私のデッキクラスです
class deck
{
public:
deck();
void shuffle();
hand dealHand();
void printDeck();
private:
vector<card> deckData;
void loadDeck();
};
これは私の手のクラスです
class hand
{
public:
hand();
void printHand();
private:
vector<card>handData;
void initHand();
};
これが私の dealHand 関数の定義です
hand deck::dealHand()
{
hand hand;
for(int j=0; j<5; j++)
{
hand.handData[j].suit = deckData[j].suit;
hand.handData[j].rank = deckData[j].rank;
}
return hand;
}
メンバーがプライベートの場合、この関数が hand 型のオブジェクトを返すようにするにはどうすればよいですか?? ありがとうございました。