这是我在这里的第一个问题:)
我有一点问题。
这些是我的类(class):
class Gracz{
char znak_gracza;
public:
Gracz();
Gracz(char znak){
this->znak_gracza = znak;
};
friend void multiplayer();
};
class Osoba: public Gracz{
public:
Osoba();
Osoba(char znak){
this->znak_gracza = znak;
};
friend void multiplayer();
};
我也有一个多人游戏功能,在这里我尝试使用带参数的构造函数:
void multiplayer(){
Osoba gracz1('O');
Osoba gracz2('X');
...
}
但这不起作用。
gracz1
和gracz2
的错误相同error C2248: 'Gracz::znak_gracza' : cannot access private member declared in class 'Gracz'
see declaration of 'Gracz::znak_gracza'
see declaration of 'Gracz'
最佳答案
构造函数需要将参数传递给基类构造函数:
class Osoba: public Gracz{
public:
//...
Osoba(char znak) :
Gracz(znak) {
}
};