The Four Polymorphisms in C - good coders code, great reuse: "When people talk about polymorphism in C they usually mean the thing of using a derived class through the base class pointer or reference, which is called subtype polymorphism. But they often forget that there are all kinds of other polymorphisms in C , such as parametric polymorphism, ad-hoc polymorphism and coercion polymorphism."