作用:
实现:
|
#ifndef COMPOSITE_H #include <list> // 组合中的抽象基类 // 纯虚函数,只提供接口,没有默认的实现 // 虚函数,提供接口,有默认的实现就是什么都不做 // 派生自Component,是其中的叶子组件的基类 virtual void Operation(); // 派生自Component,是其中的含有子件的组件的基类 virtual void Operation(); virtual void Add(Component* pChild); private: #endif |
2)Composite.cpp
|
#include "Composite.h"
} void Component::Remove(Component* pChild) } Component* Component::GetChild(int nIndex)
for (iter1 = m_ListOfComponent.begin(), iter2 = m_ListOfComponent.end(); void Composite::Add(Component* pChild) void Composite::Remove(Component* pChild) iter = find(m_ListOfComponent.begin(), m_ListOfComponent.end(), pChild); if (m_ListOfComponent.end() != iter) Component* Composite::GetChild(int nIndex) std::list<Component*>::iterator iter1, iter2; return *iter1; void Composite::Operation() std::list<Component*>::iterator iter1, iter2; for (iter1 = m_ListOfComponent.begin(), iter2 = m_ListOfComponent.end(); |
3)Main.cpp
|
#include "Composite.h" int main() Composite* pComposite = new Composite; delete pComposite; system("pause"); return 0; |