Nie do końca rozumiem pytanie, ale spróbujmy:
-Teoretycznie możesz pokombinować z funkcjami statycznymi. Jedna taka metoda odnosi się wtedy do wszystkich obiektów danej klasy, jest dla nich uniwersalna.
-Drugi sposób to polimorfizm, zamknięcie obiektów w wektorze albo talii i przeiterowanie wskaźnikiem wykonując jedną uniwersalną funkcję, która w każdej klasie może robić coś innego (wtedy najstarsza klasa musi być wirtualna).
-Inżynieria oprogramowania? Rozbicie tej giga klasy na moduły (jak np. w SFML) a następnie obsługa przygotowanym interfejsem? Nie znam się na tym dobrze ale coś mi mówi że Fasada byłaby całkiem czystym rozwiązaniem. Tak samo Singleton mógłby być przydatny- tylko nie słyszałeś tego ode mnie, bo inni programiści mnie zatłuką :D
To na tyle co mi przyszło teraz do głowy. Jeżeli chcesz zgłębić głębiej któryś podpunkt, daj znać. Co do podstawowych błędów, to wsyzstkie klasy dziedziczące z jednej.... nie leży mi to. Czasami się tak robi (via Minecraft), ale nie powiedziałbym że to dobra metodyka.