Click here to Skip to main content
15,884,177 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: why no virtual constructor? Pin
sanjaylk16-Jul-12 3:54
sanjaylk16-Jul-12 3:54 
GeneralRe: why no virtual constructor? Pin
Stefan_Lang16-Jul-12 22:07
Stefan_Lang16-Jul-12 22:07 
AnswerRe: why no virtual constructor? PinPopular
jschell16-Jul-12 6:01
jschell16-Jul-12 6:01 
GeneralRe: why no virtual constructor? Pin
Stefan_Lang16-Jul-12 22:08
Stefan_Lang16-Jul-12 22:08 
AnswerRe: why no virtual constructor? Pin
Chris Losinger16-Jul-12 7:02
professionalChris Losinger16-Jul-12 7:02 
AnswerRe: why no virtual constructor? Pin
David Crow16-Jul-12 7:06
David Crow16-Jul-12 7:06 
GeneralRe: why no virtual constructor? Pin
jschell16-Jul-12 10:49
jschell16-Jul-12 10:49 
AnswerRe: why no virtual constructor? Pin
Mattias Högström16-Jul-12 11:34
Mattias Högström16-Jul-12 11:34 
Consider the opposite, that it was possible.

Subclassing, can sometimes be viewed as specialization.
Dog is a specializations of an Animal.
If the Animal has private variables, these are initialized in the constructor.
If the constructor is virtual, it is replaced by a subclass' constructor.
According to the principles of data hiding (public, protected, private), a sub class cannot access private member variables of a parent type. So these member variables would be left uninitialized. You don't want that because the parent class would break.

If you by some reason need a virtual constructor there is a Design Pattern called the Template Method,
http://en.wikipedia.org/wiki/Template_method_pattern

In the example they have they define an algorithm in the parent class,
and let the subclass define the implementation.

It is of course possible to apply the same principle in constructors by creating a virtual method called "Initialize" which you call from the constructor. When this method is redefined in a subclass it will override the parent's definition.

But I have never came across the need for a virtual constructor. Why do you need one?
GeneralRe: why no virtual constructor? Pin
Stefan_Lang16-Jul-12 22:29
Stefan_Lang16-Jul-12 22:29 
GeneralRe: why no virtual constructor? Pin
Mattias Högström17-Jul-12 0:38
Mattias Högström17-Jul-12 0:38 
GeneralRe: why no virtual constructor? Pin
Stefan_Lang17-Jul-12 2:00
Stefan_Lang17-Jul-12 2:00 
GeneralRe: why no virtual constructor? Pin
Mattias Högström17-Jul-12 10:07
Mattias Högström17-Jul-12 10:07 
JokeRe: why no virtual constructor? Pin
Albert Holguin17-Jul-12 12:19
professionalAlbert Holguin17-Jul-12 12:19 
GeneralRe: why no virtual constructor? Pin
jschell20-Jul-12 6:52
jschell20-Jul-12 6:52 
GeneralRe: why no virtual constructor? Pin
Mattias Högström20-Jul-12 7:33
Mattias Högström20-Jul-12 7:33 
GeneralRe: why no virtual constructor? Pin
jschell21-Jul-12 11:33
jschell21-Jul-12 11:33 
GeneralRe: why no virtual constructor? Pin
Mattias Högström21-Jul-12 13:54
Mattias Högström21-Jul-12 13:54 
GeneralRe: why no virtual constructor? Pin
Eugen Podsypalnikov16-Jul-12 23:59
Eugen Podsypalnikov16-Jul-12 23:59 
QuestionHow to add app icon in full color? Pin
includeh1014-Jul-12 15:22
includeh1014-Jul-12 15:22 
AnswerRe: How to add app icon in full color? Pin
«_Superman_»14-Jul-12 17:58
professional«_Superman_»14-Jul-12 17:58 
QuestionMFC CListCtrl FindItem is not working Pin
D.Manivelan13-Jul-12 23:45
D.Manivelan13-Jul-12 23:45 
AnswerRe: MFC CListCtrl FindItem is not working Pin
_Flaviu14-Jul-12 0:06
_Flaviu14-Jul-12 0:06 
GeneralRe: MFC CListCtrl FindItem is not working Pin
D.Manivelan14-Jul-12 1:14
D.Manivelan14-Jul-12 1:14 
GeneralRe: MFC CListCtrl FindItem is not working Pin
_Flaviu14-Jul-12 1:20
_Flaviu14-Jul-12 1:20 
GeneralRe: MFC CListCtrl FindItem is not working Pin
Rolf Kristensen14-Jul-12 21:41
Rolf Kristensen14-Jul-12 21:41 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.