P
puzzlecracker
I am sure people are familiar with dirty diamond problem solved by
virtual inheritance. look at the code below and tell me how many
instances of the base class (in this case A) does class D receive?
class A
{
:
:
};
class B: virtual public A {
:
:
};
class C: virtual public A {
:
:
};
class D: public B, public C, virtual public A {
:
:
};
====
A small follow up: is inheritance by default public, protected or
private such class A: B{};?
what is the difference between
class A
{
:
:
};
class B: virtual public A {
:
:
};
class D
ublic B {
:
:
};
OR
class D: virtual public B {
:
:
};
============
Next: can you inline the virtual functions? is the behavior undefined,
nonstandard, etc?
virtual inheritance. look at the code below and tell me how many
instances of the base class (in this case A) does class D receive?
class A
{
:
:
};
class B: virtual public A {
:
:
};
class C: virtual public A {
:
:
};
class D: public B, public C, virtual public A {
:
:
};
====
A small follow up: is inheritance by default public, protected or
private such class A: B{};?
what is the difference between
class A
{
:
:
};
class B: virtual public A {
:
:
};
class D
:
:
};
OR
class D: virtual public B {
:
:
};
============
Next: can you inline the virtual functions? is the behavior undefined,
nonstandard, etc?