Tworzenie nowych obiektów (graczy) w klasie.
Ostatnio zmodyfikowano 2017-04-20 08:38
Alex_Cooperek Temat założony przez niniejszego użytkownika |
» 2017-04-19 11:03:46 gracz.h #ifndef GRACZ_H #define GRACZ_H #include "karta.h" #include <vector>
class Gracz { vector < Karta *> tablica; string nazwa_gracza; public: Gracz(); Gracz( const string & nazwa ) : nazwa_gracza( nazwa ) { } void Gracz::dodaj_nazwe( const string & nazwa ); void dodaj_nazwe( const string & nazwa ); void dodajKarte( Karta * k ); void wyswietl(); int policzPunkty(); virtual bool czyNastepna(); };
#endif
|
|
darko202 |
» 2017-04-19 14:14:33 odwołujesz się do "Gracz::" w środku tej klasy prawdopodobnie przekopiowałeś to z pliku *cpp, gdzie to odwołanie jest na miejscu zmien na class Gracz { ... void dodaj_nazwe( const string & nazwa ); ... };
|
|
Alex_Cooperek Temat założony przez niniejszego użytkownika |
» 2017-04-19 14:36:43 Teraz poprawiłam i zauważyłam, że dwa razy mam tą samą funkcję, ale nadal cały czas mi się wyświetlają błędy: błąd: declaration of 'Gracz::Gracz()' outside of class is not definition [-fpermissive] Gracz::Gracz(); błąd: redefinition of 'Gracz::Gracz(const string&)' Gracz::Gracz(const string &nazwa):nazwa_gracza(nazwa){} błąd: 'Gracz::Gracz(const string&)' previously defined here Gracz(const string &nazwa):nazwa_gracza(nazwa){} gracz.cpp #include "gracz.h" using namespace std;
Gracz::Gracz(); Gracz::Gracz( const string & nazwa ) : nazwa_gracza( nazwa ) { } void Gracz::dodaj_nazwe( const string & nazwa ) { nazwa_gracza = nazwa; }
void Gracz::dodajKarte( Karta * k ) { tablica.push_back( k ); }
void Gracz::wyswietl() { for( auto k: tablica ) k->wyswietl(); }
int Gracz::policzPunkty() { int punkty = 0; for( Karta * k: tablica ) punkty += k->dajWartosc(); return punkty; }
bool Gracz::czyNastepna() { if( policzPunkty() <= 15 ) return true; else return false; }
|
|
darko202 |
» 2017-04-20 08:38:08 |
|
1 2 « 3 » |