Factory Design Pattern In Cpp