我正在构建一个包含 3 个类的树结构Node
,Leaf
并且Branch
.
Node
是树节点的抽象类。Leaf
是从中衍生出来的Node
,不能生孩子。Branch
派生自Node
which can have children and have a methodadd(Node*)
而且我有具体的课程,例如Book
which is aLeaf
和BookShelf
which is a Branch
。BookShelf
但是,如果是 a ,我会加倍,因为当它不是一本书时,Branch
该方法add(Node*)
无效。Node*
因此该Branch
接口不适用于BookShelf
. 如何处理那些事情?