Dla zobrazowania napiszę prymitywny program mający na celu przedstawienie istoty programowania obiektowego ;
stworzymy sobie klasę samolot, klasa jest niczym innym jak typem danych, wbudowane typy takie jak char, int, string(z biblioteki) czy inne nie posiadają możliwości wprowadzenia takich informacji jak "obecna wysokosc" czy "nazwa" (jednocześnie)
#Include <iostream> using namespace std; class samolot { public: //zmienne(pola, właściwości) lub funkcje(metody) - publiczne, można sie do nich odwołać z każdego miejsca programu. int wysokosc; samolot() //deklaracja "konstruktora" jest to funkcja ktora wywoływana jest podczas tworzenia obiektu, kompilator pozna ze jest to konstruktor w momencie gdy bedzie posaiadał taka sama nazwe jak klasa { wysokosc = 0; //nadajemy stworzonemu obiektowi wlasciwosc wysokosc na zero; (obiektu jeszcze nie mamy) } void podaj_wysokosc() { cout<<"jestesmy teraz na wysokosci: "<<wysokosc<<endl; } void w_gore(int ile) { wysokosc += ile; } void w_dol(int ile) { wysokosc -= ile; } private: //zmienne(pola, właściwości) lub funkcje(metody) - prywatne, można sie do nich odwołać tylko pomiędzy klamrą otwierającą deklaracje klasy a zamykającą. }; //zakończenie deklaracji klasy[u] średnikiem[/u] main() { samolot tupolev; //STWORZYLIŚMY obiekt "tupolev" i jednoczesnie wywolaismy konstruktor czyli obiekt ma juz jedna wlasciwosc jest to jego wysokość na jakiej sie znajduje, konstruktor dał mu zero //dowiemy sie gdzie jestesmy tupolev.podaj_wysokosc(); //wzniesiemy sie 100 do gory tupolev.w_gore(100); tupolev.podaj_wysokosc(); //zlecimy 50 w dol tupolev.w_dol(50); tupolev.podaj_wysokosc(); system("pause"); }
nie kompilowałem, zakładam że działa
mamy tutaj konstruktor i trzy metody, dwie sterujace i jedna informujaca o naszym samolocie, mozemy nim sterowac góra/dół a także możemy sie dowiadywać na jakiej wysokosci jestesmy, wystarczy stworzyć menu i animacje i już mamy gre....
oczywiscie mozna robic kolejne samoloty zmieniajac tylko nazwe a odnosimy sie do nich tak samo
samolot F16; F16.w_gore(500); F16.w_dol(100); F16.podaj_wysokosc(); //wynik powinien wyjsc ze jestesmy na 400 <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/smile.gif' class='bbc_emoticon' alt=':)' />