gpt4 book ai didi

C++ 预期类名在 '{' 标记之前。遗产

转载 作者:太空狗 更新时间:2023-10-29 20:48:56 26 4
gpt4 key购买 nike

我一直在谷歌上搜索和阅读相关内容,但还没有找到答案,也许有人可以帮我解决这个问题。

我希望我的 UserPile 类能够从我的 CardPile 类访问数据成员和类成员函数。我不断收到标题中提到的错误。有人可以解释发生了什么吗?我看到的继承教程看起来就像我的代码,除了我的是多个源代码文件。

//CardPile.h
#include <iostream>
#include <string>
#include <vector>
using namespace std;

class Card;
class CardPile
{
protected:
vector<Card> thePile;
//Card thePile[];
int pileSize;
public:
CardPile();
void insertCard( Card );
Card accessCard( int);
void displayPile();
void shuffle(); //shuffle the pile
void initializeDeck(); //create deck of cards

void deal(CardPile &, CardPile &);
void showHand();
bool checkForAce();
void discard(CardPile);
void drawCard(CardPile &);

};

//UserPlayer.h
using namespace std;



class UserPlayer: public CardPile
{
private:
//CardPile userPile;
public:
UserPlayer();

};

//UserPlayer.cpp

#include "UserPlayer.h"
#include "CardPile.h"


UserPlayer::UserPlayer()
{

}

我还没有在这个 UserPlayer 类中发生任何事情,因为我将使用基类中的函数,所以我希望在开始编写它之前至少看到它已编译。

感谢任何人的帮助。

最佳答案

如果你想在那里使用 CardPile 类,你必须在 UserPlayer.h 中包含 CardPile.h

您还缺少在 header 中包含守卫,例如:

// CardPile.h:
#ifndef CARDPILE_H
#define CARDPILE_H

class CardPile {
// ...
};

#endif

如果没有这个,你实际上在 UserPlayer.cpp 中包含了两次 CardPile.h - 一次来自 UserPlayer.h 一次通过行 #include "CardPile.h"

关于C++ 预期类名在 '{' 标记之前。遗产,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2129700/

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