Computer Science, asked by rkfromdnb, 1 year ago

when should one derive publicly and when should one derive privately?

Answers

Answered by Anonymous
0
I use it all the time. A few examples off the top of my head:

When I want to expose some but not all of a base class's interface. Public inheritance would be a lie, as Liskov substitutability is broken, whereas composition would mean writing a bunch of forwarding functions.

When I want to derive from a concrete class without a virtual destructor. Public inheritance would invite clients to delete through a pointer-to-base, invoking undefined behaviour.

Similar questions