How to create Private Constructor.

Shishir191's Avatar author of How to create Private Constructor.
This is an article on How to create Private Constructor. in C++.
This program shows how to create the private constructor in C++.

Code: Cpp
#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();
}
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
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.
Shishir191's Avatar, Join Date: Jul 2007
Go4Expert Member
Hi,
Ya you are right. ByMistake i have written that. I appoligies for that. Thanks for you good comment.
asadullah.ansari's Avatar, Join Date: Jan 2008
TechCake
Quote:
Originally Posted by shabbir
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.

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.