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 阅读(229) 评论(0)  编辑 收藏 引用 所属分类: C++ programme language设计模式

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理