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();
}

Go4Expert Founder
27Jul2007,18:24   #2
shabbir's Avatar
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.
Go4Expert Member
27Jul2007,18:27   #3
Shishir191's Avatar
Hi,
Ya you are right. ByMistake i have written that. I appoligies for that. Thanks for you good comment.
TechCake
29Jan2008,12:03   #4
asadullah.ansari's Avatar
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.