In C++ riesci a farlo facilmente (overloading, puntatori alle classi base...), ma in C dubito...