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
Function can be overloaded based on the parameter which is a value or a reference. Explain if the statement is true.
What are the five basic elements of a c++ program?
Explain the volatile and mutable keywords.
Differences between private, protected and public and give examples.
What is else if syntax?
Why do we need c++?
What are containers in c++?
What is std namespace in c++?
what is scupper?
Why c++ is so important?
Do vectors start at 0 c++?
What is namespace & why it is used in c++?
Can you help me with this one? Make a program that when a user inputed a Product Name, it will display its price, and when the user inputed the quantity of the inputed product, it will show its total price. The output must be like this: Product Name: Price: Quantity: Total Price: ..this is the list of products to be inputed: Cellphone - 1500 Washing Machine - 5200 Television - 6000 Refrigirator - 8000 Oven - 2000 Computer - 11000 thanks..:D
Can we specify variable field width in a scanf() format string? If possible how?
What is oop in c++?