/* Oto naprawde niezwykle prosta klasa elem * Definiuje ona element listy jednokierunkowej * */ class elem { public: /* konstruktor - funkcja wywolywana zaraz po utworzeniu obiektu */ elem (); /* desruktor - funkcja wywolywana przed uwolnieniem pamieci zajmowanej przez obiekt */ ~elem (); public: /* Definiowane sa 3 metody klasy. * get_next - zwraca wskaznik do elementu nastepnego * set_next - ustawianie "na sile" elementu nastepnego * insert_after - dodaje element do listy bezposrednio za biezacym * */ /* Wewnatrz definicji klasy mozna umieszczec rowniez * implementacje funkcji. w przypadku trywialnych * moze to byc nawet uzasadnione. slowo kluczowe * "inline" oznacza ze zamiast wywolania funkcji (call) * kompilator umieszcza w kodzie pelna jej implementacje. * W przypadku dlugich, wielokrotnie wywolywanych funkcji * moze to powodowac znaczny rozrost kodu wynikowego. * */ inline elem * get_next () { return pnext; } elem *set_next (elem * ael); elem *insert_after (elem * ael); private: elem * pnext; };