I'm trying to use aggregation between two classes but my code gives me an error. I used the data type of a class in another class. Basically I tried taking the input of guess(a protected member variable of hangman) in the class of player but it says unidentified. I don't know why thats happening because i have
Player player2;
declared in my hangman headerfile. If someone can help me out I would really appreciate it for I am still learning! Thank you!
In one of my header files I have:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Hangman
{
public:
    Hangman();
    void Play();
protected:
   Player player2;
   vector<string> words;
   int wrong;
   const int maxwrong=4;
   char guess;
   void virtual RespondIncorrectGuess();
};
In my player header file i have:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Player{
public:
    Player();
    char MakeGuess();
    void Win();
    void Lose();
    char Agree();
private:
    string name;
    int score;
};
In my player.cpp file i have
#include "player.h"
#include "hangman.h"
char Player::MakeGuess()
{
    cout<<"Enter your guess"<<endl;
    cin>>guess;//i know why this doesnt work but i dont know how to make guess work here
}