Вызов члена одного класса в другой
Для задания ям требуется для создания игры с использованием бросков кубика, использующих несколько классов. ЗаDice.cpp
Я написал функцию, которая просто получает случайный бросок кубика от 1 до 6, а затем мне нужно написать отдельный класс, который берет бросок кубика.s значение и использует его, чтобы определить, какая часть добавлена в игру, что я и сделал вplayer.cpp
, Я пытался с помощью#include "Dice.h"
так же, как я бы для main.cpp, но это все еще говорит мне, что мойd.getRoll()
не определен в его объеме. Функция takeTurn, где проблема, и ям, чтобы сделать его недействительным и не иметь параметров. Любая помощь будет отличной.
player.h
#ifndef PLAYER_H
#define PLAYER_H
#include
#include
#include
#include
#include "Dice.h"
using namespace std;
class player
{
public:
player();
void setPlayerName();
string getPlayerName();
void setCootieName();
string getCootieName();
void takeTurn();
private:
int numLeg, numHead, numEye, numWing, numBody, numAntenna;
string cootieName;
string playerName;
int roll;
};
#endif // PLAYER_H
player.cpp
#include "player.h"
player::player()
{
numLeg = 0;
numHead = 0;
numEye = 0;
numWing = 0;
numBody = 0;
numAntenna = 0;
cootieName = "Undefined";
playerName = "Undefined";
}
void player::setPlayerName()
{
getline(cin, playerName);
}
string player::getPlayerName()
{
return(playerName);
}
void player::setCootieName()
{
getline(cin, cootieName);
}
string player::getCootieName()
{
return(cootieName);
}
void player::takeTurn()
{
roll = d.getRoll();
"You rolled a " < roll < "." < endl;
if (roll == 1)
{
numBody++;
}
else if (roll == 2)
{
numHead++;
}
else if (roll == 3)
{
numLeg++;
}
else if (roll == 4)
{
numAntenna++;
}
else if (roll == 5)
{
numWing++;
}
else
{
numEye++;
}
cout < "Cootie called " < cootieName < " has: " < endl;
cout < numLeg < " Leg(s)" < endl;
cout < numHead < " Head(s)" < endl;
cout < numEye < " Eye(s)" < endl;
cout < numWing < " Wings(s)" < endl;
cout < numBody < " Body(s)" < endl;
cout < numAntenna < " Antenna(s)" < endl;
}