[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gcc
Subject:    Re: Non-default ctors, virtual base classes, & multiple inheritance all
From:       Benjamin Scherrey <scherrey () switchco ! com>
Date:       2000-09-06 5:40:48
[Download RAW message or body]

Bless you my son! I have been going nuts with this thing. I could not find
this in any of my references. I'll probably run across it about two months
from now.... Thanx!

llewelly@edevnull.com wrote:

> rlau@csc.com writes:
>
> > Please respond to scherrey@switchco.com
> >     I'm having some trouble getting non-default constructors called for
> > virtual baseclasses in certain instances.. I've attached some code that
> > demonstrates this problem. In some cases, I can pass a parameter up the
> > tree to the virtual base class, in others, the default ctor is always
> > called even though my code clearly specifies the ctor taking a parm. Is
> > this a compiler bug or a language design issue?
>
> Language design.
>
> Constructors of virtual base classes are called from the constructor
>   of the most derived class.
>
> The reason is that any data members in a virtual base class must
>   appear only once in the final object, and must therefor only be
>   initialized once. Calling the constructor from  the constructor of
>   the final type is how the langauge ensures this.
>
> For a full explanation, ask comp.lang.c++.moderated

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic