5,530
社区成员
发帖
与我相关
我的任务
分享
class Component
{
public:
virtual void Add(Component *){}
virtual void Remove(Component* ){}
};
//overwrite
class Branch : public Component
{
virtual void Add(Component*)
{
//add branch or leaf
}
virtual void Remove(Component*)
{
//remove branch or leaf
}
};
class Leaf : public Component
{
//no child branch or leaf,don't overwrite Add and Remove fucntion
};