编辑decorate程序时遇到一个问题

class Decorator:public Beverage
{
    public:
        Decorator(Beverage * com);
        virtual ~Decorator();
        virtual string get_descrption();
    protected:
         Beverage * component;


};

而MilkDecorator继承了Decorator,如果component 为私有的则MilkDecorator便不能访问。

如果milkDecorator 设计成这样就不会违反了封装的原则。
基本上只有一个区别,就是protect成员能被派生类访问!而派生类对private没有特殊访问权!

Posted on 2008-10-16 17:04 micheal's tech 阅读(90) 评论(0)   编辑  收藏 引用 所属分类: C++ programme language 、 设计模式

你可能感兴趣的:(编辑decorate程序时遇到一个问题)