[C++][Visual Studio] Problem z inicjowaniem metod poza klasą

transatlantyk a
Użytkownik
Użytkownik
Posty: 15
Rejestracja: 2 gru 2015, o 18:53
Płeć: Kobieta
Lokalizacja: Polska

[C++][Visual Studio] Problem z inicjowaniem metod poza klasą

Post autor: transatlantyk a »

Witam,

tworzę klasę, w której niektóre metody nie mogą być zadeklarowane poza klasą

to jest moja klasa główna:

Kod: Zaznacz cały

class gracz
{
	char nick;
	char w, k;
	bool orient;//orient::orientacja statku true-pion, false-poziom
	int rodz;
	char pole[11][11];
public:
	gracz();
	bool wartosc;
	int rodzaj(int r);
	void setOrientacja(bool wartosc);
	void setnick(char nazwa);
	void koordynaty(char wiersz, char kolumna);
	void getpole(char polegry[11][11]);
	void budowanie();
	bool krzyzowanie();
	void setpole(string nickn);

};
błędy pojawiają się tu:

Kod: Zaznacz cały

int gra::ruchkomputera(int ruchy);
{  ///////błąd- expected a declarakion
 int ruchy=0
	int zatopienia = 0;
	gracz gracz3;
	gracz komputer;
	void strzaltrafiony();
	{
		w = (rand() % 10) + 1;
		k = (rand() % 10) + 1;
		if (polegry[w][k] == 1)
		{
			polegry[w][k] = '+';
			if ((rozgrywka.czy_zatopiony(w, k)) == true)
			{
				ruchy++
				zatopienia++;
				rozgrywka.planszawroga(gracz gracz3);
				strzaltrafiony();
				system("cls");

			}
		}
	}
	if (polegry[w][w]==0||polegry[11][11]==x)
	{
		cout << "-pudlo-";
		rozgrywka.planszawroga(gracz gracz3);
		system('cls');
		ruch++	
	}
	return(zatopienia, ruchy);
}

Ostatnio zmieniony 7 sty 2016, o 19:16 przez transatlantyk a, łącznie zmieniany 2 razy.
Awatar użytkownika
mortan517
Użytkownik
Użytkownik
Posty: 3359
Rejestracja: 6 lis 2011, o 15:38
Płeć: Mężczyzna
Lokalizacja: Krk
Podziękował: 112 razy
Pomógł: 662 razy

[C++][Visual Studio] Expected a declaration przy metodzie

Post autor: mortan517 »

Co to jest polegry, gdzie jest zadeklarowane, bo nie w klasie. Przy warunku if wychodzisz poza tablicę.
BKDev
Użytkownik
Użytkownik
Posty: 8
Rejestracja: 10 sie 2015, o 14:37
Płeć: Mężczyzna
Lokalizacja: Olsztyn
Podziękował: 2 razy

[C++][Visual Studio] Problem z inicjowaniem metod poza klasą

Post autor: BKDev »

"tworzę klasę, w której niektóre metody nie mogą być zadeklarowane poza klasą".
Metodą nazywamy funkcję w danej klasie. Nie bardzo wiem, co chcesz zrobić..

Wyskakuje Ci błąd "expected a declaration", to oznacza, że nie zadeklarowałeś tej funkcji w klasie gra.

Dobrą praktyką jest również pisanie nazw klas z dużej litery.

Pozdrawiam.
transatlantyk a
Użytkownik
Użytkownik
Posty: 15
Rejestracja: 2 gru 2015, o 18:53
Płeć: Kobieta
Lokalizacja: Polska

[C++][Visual Studio] Problem z inicjowaniem metod poza klasą

Post autor: transatlantyk a »

ok, moja pomyłka, klasa o którą mi chodziło to ta:

Kod: Zaznacz cały

class gra :
	public gracz
{

	char w, k;
	int opcje;
public:
	bool czy_zatopiony(char wiersz, char kolumna, gracz graczn);
	int ruch(string nazwa, int ruchy, char ulatwienia, gra rozgrywka, gracz graczk, gracz graczn, gracz komputer);
	void pola_zajete();//do napisania
	void statki_zatopione();//do napisania
	void pola_ostrzelane();//do napisania
	void planszarozgrywki(gracz graczn, char ulatwienia);
	int ruchkomputera(gracz komputer, char ulatwienia);
	void wyswietlplansze(gracz graczn);
};
Awatar użytkownika
jarzabek89
Użytkownik
Użytkownik
Posty: 1337
Rejestracja: 11 lis 2007, o 21:36
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 4 razy
Pomógł: 181 razy

[C++][Visual Studio] Problem z inicjowaniem metod poza klasą

Post autor: jarzabek89 »

Nauczmy się składni języka. bez tego ani rusz. Poza tym po co metody, które nic nie robią (nie biorę uwagi na to, że owe metody mogą być później przysłaniane)
ODPOWIEDZ