在另一个对象的构造函数C ++中实例化一个对象

时间:2017-09-21 01:50:18

标签: c++ object composition

我对C ++很陌生并正在制作Go Fish Card游戏,我已经制作了包括Player(带有派生comp的基础),Deck,Hand和Card等标题的类

我试图给Player类一个Hand对象,但是仍然遇到3个错误,我已经尝试了各种不同的方式,我可以想到并且谷歌搜索和研究2天了(包括阅读所有类似的Stack上的主题)。 任何人都可以帮我这个吗?

代码>> Player.h

#pragma once
#include "Hand.h"
#include <string>
#include "Card.h"
#include <iostream>
class Player
{
public:
    Player();
    int getScore();
    bool act();
    int getHandSize();
    string getName();
    void setName(string name);
    ~Player();

protected:
    int score;
    string name;
    int handSize;   //  Keeps track of Player's hand size
    Hand myHand;    // <<<<<<< This Line is the Error
}; 

这是播放器的构造函数

#include "stdafx.h"
#include "Player.h"
using namespace std;

Player::Player() : score(0), handSize(0), myHand(Hand())
{
    cout << "Please input your Name" << endl;
    cin >> name;
}

这是Hand

的标题
#include "Player.h"
#include <iostream>
#include <vector>
#include <algorithm>

class Hand
{
public:
    Hand();
    ~Hand();
    void addCard(Card card);
    void removeCard(Card card);
    bool hasCard(Card &card);

private:
    vector<Card> hand;
};

和Hand的构造函数

#include "stdafx.h"
#include "Hand.h"
using namespace std;

Hand::Hand() : hand()
{
}

最后是错误消息

Severity    Code    Description Project File    Line    Suppression State
Error   C2143   syntax error: missing ';' before '*'    

Severity    Code    Description Project File    Line    Suppression State
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int`       

Severity    Code    Description Project File    Line    Suppression State
Error   C2238   unexpected token(s) preceding ';'

编辑,这是循环标题,谢谢

0 个答案:

没有答案