Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

How to construct virtual constructor

Answer Posted / mmszubeir

C++ doesn’t give any direct support to declare a virtual
constructor as such. But we can have a virtual constructor
by indirectly providing the mechanism.

As like ordinary virtual functions, a virtual constructor
can exhibit different behaviors depending upon the request.
That is, a virtual constructor can construct different
types of objects on different requests. This implies the
class hierarchy should be polymorphical.

This technique resembles two stage construction technique.
To avoid breaking at the constructor of an object, we keep
the heavy initialization code in a separate initializer
function so that we get the minimum guarantee that the
constructor won’t fail.
In this case, we first invoke the constructor and then
invoke the initializer function. The advantage of this
method is that we will have a better control of the
construction.

For example,

CBrush blueBrush; // Just an object. Must be initialized!
blueBrush.CreateSolidBrush(RGB(0,0,255)); // Blue brush.

Since I am running short of time, I hang on with this for
the time being. I will add more details about the virtual
constructor theory soon.

Is This Answer Correct ?    10 Yes 5 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What are the benefits of operator overloading?

1269


Is c++ still being used?

1063


What is an adjust field format flag?

1177


Describe protected access specifiers?

1287


What are the syntactic rules to be avoid ambiguity in multiple inheritance?

1231


What are vectors used for in c++?

1140


Can a function take variable length arguments, if yes, how?

1065


What are the important differences between c++ and java?

1196


What are the types of container classes?

1226


What is input operator in c++?

1079


What is capacity in vector in c++?

1056


Which coding certification is best?

1074


When can I use a forward declaration?

1141


What header file is needed for exit(); a) stdlib.h b) conio.h c) dos.h

1105


Does there exist any way to make the command line arguments available to other functions without passing them as arguments to the function?

1290