Would the following code still be negatively affected by the lack of virtual inheritance?
If so, would the negative effects be the same as (or as bad as) the negative effects of multiple inheritance without virtual inheritance if class A
did contain data members?
class A
{
public :
virtual ~A ( ) { }
virtual int foo ( ) const = 0 ;
} ;
class B : public A
{
public :
virtual ~B ( ) { }
} ;
class C : public A
{
public :
virtual ~C ( ) { }
} ;
class D : public B , public C
{
public :
virtual int foo ( ) const { return 12 ; }
} ;