C++ Obiektowość | Dziedziczenie
Ostatnio zmodyfikowano 2011-10-31 17:55
skovv Temat założony przez niniejszego użytkownika |
» 2011-10-31 17:55:59 Zrobiłem jak mi radzono: Napisałem prostrzy konsolowy programik i już wiem jak to działa :P #include <iostream> #include <vector> using namespace std;
int gracz; bool dziala = true;
class OBJ { public: bool tak; OBJ() { tak = true; } void virtual Update() { } }; class OBJECTS { public: std::vector < OBJ *> Obj; int intPos; int pos; int Add( OBJ * ooo ) { Obj.push_back( ooo ); intPos += 1; return intPos - 1; } void EventUpdate() { if( intPos != 0 ) { pos = 0; while( intPos != pos ) { Obj[ pos ]->Update(); pos += 1; } } } };
OBJECTS Obj;
class GRACZ : public OBJ { public: int tajny; GRACZ() { tajny = 1234; } void Update() { tajny += 100; } }; class CZAR : public OBJ { public: GRACZ * xxx; CZAR() { xxx = dynamic_cast < GRACZ *>( Obj.Obj[ gracz ] ); } void Update() { if( xxx ) { cout << xxx->tajny; dziala = false; } else dziala = true; } };
int main() { gracz = Obj.Add( new GRACZ ); Obj.Add( new CZAR ); while( dziala ) { Obj.EventUpdate(); } dziala = true; while( dziala ) { Obj.EventUpdate(); } return 0; }
Dziękuję wszystkim za pomoc :) |
|
1 2 3 « 4 » |