Wreszcie doszedlem do schematu fizycznego klasy. Wymagalo to wielu refaktoryzacji, ale jest.
Kazda klasa Obiekt ma nastepujace pola:
identyfikator (int)
wartosc (unsigned int)
znak (unsigned int)
korzen (void *)
data (void * [] ) czyli tablica Obiektow
create(wartosc, znak)
destroy()
show()
'obiekt'(int)
oraz skladowe prywatne, ktore sa bardzo uzaleznione od klasy.
Na razie pola te sa publiczne, do testow. W oryginale jednak wszystkie moga byc prywatne! I tak odwolania do tych wszystkich klas nie wystepuja bezposrednio, lecz za pomoca zaprzyjaznionej klasy, ktora je tworzy, kasuje i wywoluje. Zaden nieznany Obiekt nie przejdzie przez to sito, a jesli nawet, to bedzie on zignorowany lub skasowany.
Dodatkowo mam dolaczone bardzo mile wlasnosci: automatyczne sprytne wskazniki, funktory, oraz wlasna kontrole typow, gdyz Obiekty moga czasem zmieniac swoj typ w czasie dzialania.
Z minusow, trzeba uwazac na liczby calkowite ujemne - calkiem nowy typ.