gpt4 book ai didi

对象数组的 C++ 问题

转载 作者:可可西里 更新时间:2023-11-01 18:29:14 24 4
gpt4 key购买 nike

我们有一项任务是制作二十一点游戏。

波纹管是我的代码的简化版本:

#include <iostream>
#include <string>
#include <time.h>

using namespace std;

class Deck
{
private:
Card cards[52]; <-- HERE!!
public:

};

class Card
{
private:
int suit;
int number;
public:


int getSuit();
int getNumber();
void setCard(int suit, int number);

};
int Card::getSuit()
{
return suit;
}

int Card::getNumber()
{
return number;
}

void Card::setCard(int s, int n)
{
suit = s;
number = n;
}

class Players
{
private:
Card PlayersCards[10];
public:
/*Card getCard();*/


};

//Card Players::getCard()
//{
// return;
//}

int main()
{
Players user;


cin.get();
cin.get();
return 0;
}

问题在于对象数组 Card 的创建位置。编译器给我以下错误:

Error C3646 'cards': unknown override specifier

Error C2143 syntax error: missing ',' before '['

Error C2143 syntax error: missing ')' before ';'

Error C2238 unexpected token(s) preceding ';'

我的代码有什么问题?

最佳答案

编译器不知道 Card 是什么,因此无法生成正确的代码。

Card需要在类Deck之前声明,因为Card包含在Deck中.

class Card {
/// stuff - allows compiler to work out the size of one Card.
};

class Deck {
private:
Card cards[52]; // knows how to create 52 of these.
};
// implementation can go later.
int Card::getSuit()
{
return suit;
}

关于对象数组的 C++ 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34454609/

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