Klasa zaprzyjaźniona

0

void statek::ruch(){
	switch(getch()){
 case 'a':
	 if(poz_x>=0 || poz_x <=20){
	 poz_x--;
	 }else{
		 break;
	 }
	 break;
 case 'd':
	 if(poz_x>=0 || poz_x <=20){
	 poz_x++;
	 }else{
		 break;
	 }
	 break;
 case 's':
	pocisk x;                      //wywołanie konstruktora dla pocisk
	break;
default: 
	 break;

	}
}

class pocisk{
	int pocisk_x;
	int pocisk_y;
public:
	pocisk(){pocisk_x = statek.poz_x, pocisk_y = statek.poz_y+2;};     //konstruktor dla pocisku
};

 

Mógłby ktoś pomóc dlaczego nie mogę użyć statek.poz_x i statek.poz_y w deklaracji konstruktora dla pocisku (pocisk jest friend dla statek) ?

1

A gdzie masz konkretną instancję obiektu klasy statek? Przecież nie możesz zrobić Klasa.pole tylko 'obiekt_klasy.pole`. Ewentualnie, jeżeli to pole jest statyczne, ale pewnie nie o to Ci chodziło.

1 użytkowników online, w tym zalogowanych: 0, gości: 1