【发布时间】:2014-01-06 16:13:23
【问题描述】:
我写了以下代码:
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;
}
};
这一行加下划线:
cout << super::imie;
它说它无法访问。但在我看来,它是 - 我“加好友”了这种方法。 我尝试了 Dziecko 类的前向声明 - 也没有用。我做错了什么?
【问题讨论】:
标签: c++ visual-studio-2010 class friend