Topic: Multiple inheritance oversight?


Author: petergo@microsoft.UUCP (Peter GOLDE)
Date: 6 Nov 90 03:23:19 GMT
Raw View
p. 198 of the ARM appears to have overlooked a case involving multiple
inheritance of the same class twice.  It states: "A class may not be
specified as a direct base class of a derived class more than once but
it may be an indirect base class more than once".

Thus prohibiting:

      B B
       \ /
        A

But allowing:

      B     B
       \     /
        X   Y
         \ /
   A

It's unclear from the wording whether an object can be
an indirect base class once and a direct base class once, i.e.,

       B
      /
        B   Y
         \ /
   A

cfront 2.0 disallows this.  This is probably the right behavior, since
none of the immediate base B's members can be accessed, even with the
scope operator.  However, the wording of the standard should be changed
to specifically address this case.