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-18 19:36:16 Niedokońca wiem jak mogę nazywać graczy klasie Gracz, kiedy liczbę danych obiektów podam dopiero klasie Oczko? By, poźniej działała mi w klasie Oczko w metodzie graj()? |
|
michal11 |
» 2017-04-18 19:47:25 class Gracz { vector < Karta *> tablica; string nazwa_gracza; public: Gracz(); Gracz( const std::string & nazwa ) : nazwa_gracza( nazwa ) { } void ustawNazwe( const std::string & nazwa ) { nazwa_gracza = nazwa; } };
Oczko::Oczko() { for( int i = 0; i < liczba_graczy; ++i ) { g[ i ] = new Gracz; c[ i ] = new Czlowiek; cout << "Podaj nazwe swojego gracza: "; cin >> nazwa_gracza; tablica_nazw[ i ].ustawNazwe( nazwa_gracza ); } }
mając konstruktor ze stringiem można też zrobić tak: Oczko::Oczko() { for( int i = 0; i < liczba_graczy; ++i ) { c[ i ] = new Czlowiek; cout << "Podaj nazwe swojego gracza: "; cin >> nazwa_gracza; g[ i ] = new Gracz( nazwa_gracza ); } }
|
|
Alex_Cooperek Temat założony przez niniejszego użytkownika |
» 2017-04-19 06:15:25 Wybacz, chciałabym się zapytać i te 2 linijki, tutaj tworzy się dwa konstruktory Gracz, a co oznacza ten ":", u niego nie powinno coś być po lewej stronie? Gracz(); Gracz( const std::string & nazwa ) : nazwa_gracza( nazwa ) |
|
darko202 |
» 2017-04-19 09:43:27 |
|
Alex_Cooperek Temat założony przez niniejszego użytkownika |
» 2017-04-19 09:54:07 Aha, czyli mają powstać dwa konstruktory jeden pusty, a drugi jawny ?
|
|
karambaHZP |
» 2017-04-19 09:59:11 Konstruktorów może być tyle ile wymaga sytuacja, choć najczęściej stosuje sie rule of three, five, zero, a ten dwukropek oznacza początek listy inicjalizacyjnej konstruktora (zalecane rozwiazanie). |
|
Alex_Cooperek Temat założony przez niniejszego użytkownika |
» 2017-04-19 10:03:05 Ok, rozumiem. Zrobiłam wszystko co radziłeś, tylko nie wiem czemu pojawiły mi się te trzy błędy, co one mogą oznaczać? błąd: extra qualification 'Gracz::' on member 'dodaj_nazwe' [-fpermissive] void Gracz::dodaj_nazwe(const string &nazwa); błąd: 'void Gracz::dodaj_nazwe(const string&)' cannot be overloaded void dodaj_nazwe(const string &nazwa); błąd: with 'void Gracz::dodaj_nazwe(const string&)' void Gracz::dodaj_nazwe(const string &nazwa); ^ ^ ^ |
|
michal11 |
» 2017-04-19 10:44:26 wstaw kod którego dotyczy błąd |
|
1 « 2 » 3 |