fensz Temat założony przez niniejszego użytkownika |
[C++] Publiczny interfejs klasy » 2012-03-05 19:06:51 Jestem w trakcie kodowania klasy EXP. Wygląda ona tak: #ifndef CEXP_FENSZ #define CEXP_FENSZ
#include <SFML/Graphics.hpp>
class CExp { public: CExp(); CExp( std::string _text, sf::Font & _font, float _size ); int GetExp(); const int IloscExp( const bool _exp ) { return m_exp; } void UpdateEXP(); private: int m_dodaj; int m_exp; };
#endif
Gdzie const int IloscExp(const bool _exp) { return m_exp; } jest metodą publiczną wyciągającą wartość m_exp - czyli po prostu ilość exp. Proszę, pokierujcie mnie, co mam zrobić, aby za pomocą tej metody wyciągnąć m_exp do maina do funkcji save, która wygląda tak: void save() { char savefile[] = "zapis"; ofstream load_save( savefile, ios::out ); load_save << licznik1 << "\n" ; }
|
|
pekfos |
» 2012-03-05 19:14:43 Ty (chyba) nie masz elementarnej wiedzy o (programowaniu obiektowym w) C++.. Proszę, pokierujcie mnie, co mam zrobić, aby za pomocą tej metody wyciągnąć m_exp do maina do funkcji save, |
No nie wiem.. Może wywołać tą metodę? |
|
fensz Temat założony przez niniejszego użytkownika |
» 2012-03-05 19:18:08 Ok, dopiero się uczę. Ale gdy próbuje wywołać tą metodę pojawiają się błedy, podkreśla na czerwono (declaration is incompactybile) |
|
pekfos |
» 2012-03-05 19:19:28 To podaj kod w którym są błędy. |
|
fensz Temat założony przez niniejszego użytkownika |
» 2012-03-05 19:22:44 1>main.cpp(56): error C2365: 'exp' : redefinition; previous definition was 'function' 1>main.cpp(56): error C2065: 'IloscExp' : undeclared identifier 1>main.cpp(403): error C2059: syntax error : '<<'
CExp exp = IloscExp;
void save() { char savefile[] = "zapis"; ofstream load_save( savefile, ios::out ); load_save << licznik1 << "\n" << IloscExp << "\n" ; }
|
|
SeaMonster131 |
» 2012-03-05 19:24:24 |
|
pekfos |
» 2012-03-05 19:25:30 Ale gdy próbuje wywołać tą metodę |
I gdzie ją próbowałeś wywołać? CExp exp = IloscExp;
void save() { char savefile[] = "zapis"; ofstream load_save( savefile, ios::out ); load_save << licznik1 << "\n" << IloscExp << "\n" ; } |
|
fensz Temat założony przez niniejszego użytkownika |
» 2012-03-05 19:43:05 Udało mi się co nieco ruszyć, ale teraz kolejna zagadka void save() { char savefile[] = "zapis"; ofstream load_save( savefile, ios::out ); load_save << licznik1 << "\n" << Exp_Game.IloscExp() << "\n" ; }
void load() { char savefile[] = "zapis"; char load1[ 10 ], load2[ 10 ]; ifstream load_save( savefile ); load_save.getline( load1, 10, '\n' ); load_save.getline( load2, 10, '\n' ); int new_licznik1 = atoi( load1 ); int new_exp = atoi( load2 ); licznik1 = new_licznik1; Exp_Game.IloscExp() = new_exp; }
Przy takim kodzie, wyskakuje następujący błąd 1>main.cpp(421): error C2106: '=' : left operand must be l-value |
|
« 1 » 2 |