//-------------------------------------game.h-------------------------------------
#include <string>
using namespace std;
class CPlayer;
class CGame;
enum SIGN { SGN_CIRCLE = 'O',
SGN_CROSS = 'X' };
class CPlayer{
private:
string m_Player1;
string m_Player2;
public:
/*konstruktor*/
CPlayer()
{m_Player1=m_Player2= "???";}
/*----------------metody----------------*/
char Losowanie();
void Wczytaj();
void Pokaz();
/*-------dostęp do prywatych pól---------*/
string Gracz () const { return m_Player1;}
string Gracz2 () const { return m_Player2;}
};
class CGame{
private:
CPlayer* m_pCP;
public:
/*-------dostęp do prywatych pól---------*/
CPlayer* Gracz() const {return m_pCP;}
};
//-------------------------------------game.cpp-------------------------------------
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <string>
#include "game.h"
using namespace std;
//class CPlayer
void CPlayer::Wczytaj()
{
cout << "Podaj nazwe Gracza nr.1: ";
getline(cin,m_Player1);//wczytywanie
cout << "Podaj nazwe Gracza nr.2: ";
getline(cin,m_Player2);//wczytuwanie
}
void CPlayer::Pokaz()
{
CPlayer* Los;//zmienna przechowująca znak dla gracza1
CPlayer* Los2;//zmienna przechowująca znak dla gracza2
Los=new CPlayer;
Los2=new CPlayer;
cout << m_Player1 << " - " << Los->Losowanie()<<endl;//podazanie jaki znak otrzyumuje gracz nr1
cout << m_Player2 << " - " << Los2->Losowanie()<<endl;//podazanie jaki znak otrzyumuje gracz nr2
}
char CPlayer::Losowanie()
{
SIGN Znak; //zmienna przechowująca wylosowany znak
static_cast<char>(Znak = (rand() % 2 == 0 ? SGN_CIRCLE : SGN_CROSS));//losuje znak dla graczy
return Znak;
}
//-------------------------------------main.cpp-------------------------------------
#include <ctime>
#include "game.h"
#include <cstdlib>
int main ()
{
srand(static_cast<unsigned>(time(NULL)));
CGame* Gra;
Gra=new CGame;
Gra->Gracz()->Wczytaj();
Gra->Gracz()->Losowanie();
Gra->Gracz()->Pokaz();
system("pause");
return 0;
}
Proszę o jakąś podpowiedź w rozwiązaniu problemu.:)