This program shows how to create the private constructor in C++. Code: #include<iostream.h> #include<conio.h> class Test { int Data; //Stores the Data Test(int Val):Data(Val) //Private Constructor { } public: static Test Initialize(int Num) //Static Member Function generally called Factory Method. { return Test(Num); //Return the Object. } void Display() //Used to display the result. { cout<<"Value of Data is "<<Data<<endl; } }; void main() { clrscr(); Test Obj = Test::Initialize(10); //Static Member function called to return the object. Obj.Display(); getch(); }
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.
Hi, Ya you are right. ByMistake i have written that. I appoligies for that. Thanks for you good comment.
It's not needed only in singleton and factory method. Static member can be used any where where you wanna to call static member function without instances of that class. Because static member functions are not part of member of that class Actually.