K
KD
Is it possible to privately inherit from a class while exposing as one
of the class' base classes?
For example, say I have the following classes,
class Widget { };
class Button : public Widget { };
Now I want to create a MyButton class that privately inherits from
Button for its implementation, but only exposes itself as a Widget.
In other words, I don't want the users of MyButton to be tinkering
with the Button part without going through the MyButton interface.
The kicker is that the code for Widget and Button may not be modified,
so I cannot make Button virtually inherit Widget and use proper
multiple inheritance.
Any takers?
of the class' base classes?
For example, say I have the following classes,
class Widget { };
class Button : public Widget { };
Now I want to create a MyButton class that privately inherits from
Button for its implementation, but only exposes itself as a Widget.
In other words, I don't want the users of MyButton to be tinkering
with the Button part without going through the MyButton interface.
The kicker is that the code for Widget and Button may not be modified,
so I cannot make Button virtually inherit Widget and use proper
multiple inheritance.
Any takers?