Answer Posted / bharat
People have already posted the answer in brief, however for
a newbie, this might not be enough... Hence posting this
thread...
If you are referring to constructors as in pure C++, then
there is no such concept as "virtual" constructors. A
constructor is responsible for creation of the particular
object, and hence cannot be "virtual".
It cannot be so, because a virtual function allows the
actual function call to be "deeper" in the hierarchy than
the type through which it is being called. for example, you
can have a base pointer through which a virtual call is made
to a derived object's function code (Derived class is
"deeper" than base class")
Since the constructor is responsible for creation of the
object itself, the function call being "deeper" than the
type being created does not make any sense. Hence a
constructor is always "local", and virtual constructor
concept does not exist.
However, in the domain of design patterns, there is such a
concept as Virtual Constructor or Factory Method. You can
find more information on this concept in "Thinking in C++
Volume 2" (A superb and Free ebook by Bruce Eckel) at the
location
http://www.planetpdf.com/developer/article.asp?ContentID=6634
Hope this is useful...
| Is This Answer Correct ? | 9 Yes | 0 No |
Post New Answer View All Answers
Can I learn c++ without learning c?
When should you use global variables?
What is the difference between a template and a macro?
What are the operators in c++?
Difference between a copy constructor and an assignment operator.
What is the need of a destructor? Explain with the help of an example.
What is the use of class in c++?
What are iterators in c++?
Which ide is best for c++?
What does new return if there is insufficient memory to make your new object?
Explain polymorphism?
What is the difference between new() and malloc()?
What is the use of 'using' declaration in c++?
What do you mean by function overriding & function overloading in c++?
How many namespaces are there in c++?