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