Polimorfizmus
      A polimorfizmus és a virtuális függvények segítségével olyan szoftverek  fejleszthetők, melyek könnyű módszerrel bővíthetőek. Ezek a programok az  osztály hierarchia minden objektumát az ősosztály objektumaiként kezelik, így  az újonnan hozzáadott osztályok objektumait is rögtön kezelni tudják. Csak  azoknál a programrészeknél kell módosítást végrehajtani, melyek specifikus  információkat használnak az újonnan hozzáadott osztályról.      Switch          A különböző adattípusok használatára a switch az egyik alternatív módszer, hiszen ezzel  más-más utasításokat lehet végrehajtatni az objektum típusának függvényében.  Például a formák osztályának hierarchiájában kiválasztható, hogy a melyik  típusú formához melyik print() függvényt hívjuk meg. A switch-el azonban problémák is vannak. A  programozó kifelejthet egy lehetséges esetet, például mikor egy új osztállyal  bővíti a programot elfelejti beírni annak print() esetét a switch-be. Ugyanígy  ha megváltoztatunk vagy kitörlünk egy ...
