[gnu.g++.bug] uninheritable base classes

jjc@UUNET.UU.NET (James Clark) (05/19/89)

struct A {
  virtual void foo() = 0;
};

struct B : A {
  virtual void bar() = 0;
};

struct C : B {
  void foo();
  void bar();
};

G++ 1.35.0 won't compile this unless I add `virtual void foo() = 0;'
to B.  I don't know whether this is a bug, but it strikes me as a bit
unreasonable. I think that a derived class that itself has explicit
uninheritable virtuals should be able to inherit uninheritable
virtuals from a base class, with the inherited virtuals that are
uninheritable in the base class becoming uninheritable in the derived
class.

James Clark
jjc@jclark.uucp