Métodos de amigo em C ++ não estão funcionando

Eu escrevi o seguinte código:

class Osoba{
private:
    string imie, nazwisko, kolorOczu;
    friend void Dziecko::coutall();
public:
    Osoba(string imie, string nazwisko, string kolorOczu):imie(imie), nazwisko(nazwisko), kolorOczu(kolorOczu){};
    void coutall(){
        cout << "Imie: " << imie << endl; //
        cout << "Nazwisko: " << nazwisko << endl;
        cout << "Kolor oczu: " << kolorOczu << endl;
    }

};

class Dziecko: public Osoba{
private:
    string nazwaPrzedszkola, choroba;
    typedef Osoba super;
public:
    Dziecko(string imie, string nazwisko, string kolorOczu, string nazwaPrzedszkola, string choroba):super(imie, nazwisko, kolorOczu), nazwaPrzedszkola(nazwaPrzedszkola), choroba(choroba){};
    void coutall(){
        cout << super::imie; // this one gets underlined.
        cout << "Nazwa przedszkola: " << nazwaPrzedszkola << endl;
        cout << "Choroba: " << choroba << endl;
    }
};

e esta linha está sublinhada:

cout << super::imie; 

Diz que é inacessível. Mas, na minha opinião, é - eu "adorei" esse método. Tentei uma declaração avançada da classe Dziecko - também não funcionou. O que estou fazendo errado?

questionAnswers(2)

yourAnswerToTheQuestion