I have queries for some of your comments.

Code:
//Static Member Function generally called Factory Method.
This is not true. Its for singleton class. Factory method is different. Refer Design pattern in simple examples for singleton as well as factory pattern.