Ref http://www.geeksforgeeks.org/some-interesting-facts-about-static-member-functions-in-c/
1) static member functions do not have this pointer.
2) A static member function cannot be virtual (See this G-Fact)
3) Member function declarations with the same name and the name parameter-type-list cannot be overloaded if any of them is a static member function declaration.
4) A static member function can not be declared const, volatile, or const volatile.