class Decorator:public Beverage
{
public:
Decorator(Beverage * com);
virtual ~Decorator();
virtual string get_descrption();
protected:
Beverage * component;
};
而MilkDecorator繼承了Decorator,如果component 為私有的則MilkDecorator便不能訪問。
如果milkDecorator 設計成這樣就不會違反了封裝的原則。
基本上只有一個區別,就是protect成員能被派生類訪問!而派生類對private沒有特殊訪問權!