Static Polymorphism (the compile-time) means basically those language structure which will cause the compiler to produce code at the compile-time. That is, the compiler is well aware that what code is to be generated at the compile-time itself. The example includes: specifically overloading of operators, functions.
And template metaprogramming.
As you know, the Shape.h will be compiled differently, hence the compiler won't know what code should be generated when someone calls Shape->Draw().
Uh, no, the compiler knows exactly what code to generate: something that looks up a function pointer specified by the object and calls that function.
Hence , he delays(whence the name Late Binding) the code generation.
Uh, no. Code isn't generated at runtime when calling virtual functions.
I guess you were under emotional pressure when making that post.