warum ist die klasse immernoch abstrakt?
-
hallo,
also folgendes:class A { public: void foo(){/*...*/}; }; class B { public: virtual void foo() = 0; }; class C : virtual public A, virtual public B {};wie im titel schon geschrieben, verstehe ich nicht ganz warum C noch abstrakt ist? ich hab angenommen das A::foo die abstrakte Methode von B::foo definiert, aber dem ist wohl nicht so. kann mir jemand kurz erklären warum das so ist?
ich hatte schon versucht in C mit using A::foo was zu erreichen, allerdings hilft das auch nicht.
danke schonmal im voraus.
-
Weil C beide foos hat. Das invariante von A und das polymorphe von B.
-
achso, danke