[设计模式] 组合模式(composite) 学习笔记

目的是忽略单一对象和组合对象的不同。 有点像以前写过的用链表定义一个树结构,每个节点是一个val + 多个*tree 。如果某个节点是叶子节点了,那么对应的*tree都为NULL. 只不过这里用了更加面向对象的实现。

具体看代码:

 

最后打印的结果为:

root 1
Leaf A 2
Leaf B 2
Composite X 2
Leaf XA 3
Leaf XB 3
Composite XY 3
Leaf XYA 4
Leaf XYB 4

作者: CrazyKK

ex-ACMer@hust,stackoverflow-engineer@sensetime

说点什么

您将是第一位评论人!

提醒
wpDiscuz