polymorphism can be implemented by virtual function--connecting a function call to a function body at runtime
for overloading, a function call is connected to a function body at compiling and linking time---identify them by their different argument lists