If I have a code like this:
struct A { virtual void f(int) {} virtual void f(void*) {} }; struct B : public A { void f(int) {} }; struct C : public B
Or you could do this:
void main() { A *a = new C(); a->f(1); //This will call f(int) from B(Polymorphism) }