gpt4 book ai didi

c++ - 在 C++ 中使用 random.h 和 card.h 制作卡片

转载 作者:行者123 更新时间:2023-11-28 02:52:58 24 4
gpt4 key购买 nike

我需要制作随机卡片组,但我是菜鸟,所以我需要一些帮助。还有一些订单。

  1. 它说我需要制作枚举类型 RankSuit

    /li>
  2. 将实例变量的值设置为 TWOCLUBS(其实我不明白这是什么意思。)

  3. 构造函数 Card (Rank rank, Suit suit) 创建一个 Card 对象从等级和花色值

  4. 两个访问器方法,Rank getRank()Suit getSuit(),允许这客户端获取卡值的等级和花色。

  5. 函数 string toString() 返回识别卡的字符串。

所以我写了一些代码,但仍然混淆了我想念的东西和我需要的东西。代码如下:

// File: makeCards.cpp
// Creates some cards and displays them.

#include <iostream>
#include <iomanip>
#include "card.h"
#include "random.h"

using namespace std;

// Constants
const int NUM_CARDS = 10;

int main() {

card deck[NUM_CARDS];
Random randomizer;

for (int i = 0; i < NUM_CARDS; i++) {
deck[i] = card((Rank) (randomizer.randomInteger(TWO, ACE)),
(Suit) (randomizer.randomInteger(CLUBS, HEARTS)));
}

for (int i = 0; i < NUM_CARDS; i++) {
cout << setw(3) << deck[i].toString();
}
cout << endl << endl;

return 0;
}

这是已经创建的主 cpp。

这是我的card.h:

#ifndef CARD_H
#define CARD_H
#include <string>
using namespace std;


enum Rank {TWO, THREE, FOUR, FIVE, SIX, SEVEN,
EIGHT, NINE, TEN, JACK, QUEEN, KING, ACE};
enum Suit {CLUBS, DIAMONDS,HEARTS, SPADES};

class card
{
public:

card();

card(Rank rank, Suit suit);

Rank getRank();

Suit getSuit();

string toString();

private:


};

#endif // CARD_H

我的card.cpp:

#include "card.h"

card::card()
{
card();
}


card::card(Rank rank, Suit suit)
{
string rank;
string suit;
}

Rank getRank()
{
return rank;
}

Suit getSuit()
{
return suit;
}

string toString()
{
switch(rank)
{
case 1:
cout<<2;
break;
case 2:
cout<<3;
break;
default:
cout<<"default";
}
}

它真的很长,但我不知道里面需要什么

card::card(Rank rank, Suit suit)

有错误

error: 'rank' was not declared in this scope

toString()card.cpp 中,有人说使用 switch 更好,所以我试过了,但如果你有更好的主意,让我知道。

最佳答案

Rank getRank()
{
return rank;
}

应该是

Rank card::getRank()
{
return rank;
}

与 card.cpp 中的其他类方法相同。它们是试图访问类成员的类的方法。

当然你需要

Rank rank;
Suit suit;

在你的类声明中。

你的构造函数应该是这样的:

card::card(Rank prank, Suit psuit) : rank(prank), suit(psuit)
{
}

即,您使用初始化列表来初始化您的成员变量。

来自您的代码:

string rank;
string suit;

声明了两个字符串,但没有别的......

关于c++ - 在 C++ 中使用 random.h 和 card.h 制作卡片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22630112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com