游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2684|回复: 6

可以这个样子吗?基类不是纯虚函数,子类却是。

[复制链接]

36

主题

107

帖子

107

积分

注册会员

Rank: 2

积分
107
发表于 2008-5-15 17:51:00 | 显示全部楼层 |阅读模式
class Beverage {

        protected: std::string _description;

        protected: Beverage() :
                _description( "Unknown Beverage" ) {
        }
       
        public: virtual std::string getDescription() const {
                return _description;
        }
};
class CondimentDecorator : public Beverage {
        public: virtual std::string getDescription() const = 0;
};
可以这个样子吗?基类不是纯虚函数,子类却是。

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2008-5-15 17:54:00 | 显示全部楼层

Re:可以这个样子吗?基类不是纯虚函数,子类却是。

为什么要这么设计呢?

8

主题

310

帖子

311

积分

中级会员

Rank: 3Rank: 3

积分
311
QQ
发表于 2008-5-15 18:18:00 | 显示全部楼层

Re:可以这个样子吗?基类不是纯虚函数,子类却是。

Beverage 为基类
CondimentDecorator 为子类的接口 [em12]

36

主题

107

帖子

107

积分

注册会员

Rank: 2

积分
107
 楼主| 发表于 2008-6-12 15:35:00 | 显示全部楼层

Re:可以这个样子吗?基类不是纯虚函数,子类却是。

为什么要这个样子设计啊?这个样子设计有什么好处没啊?

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2008-6-12 16:23:00 | 显示全部楼层

Re:可以这个样子吗?基类不是纯虚函数,子类却是。

没试过...

8

主题

310

帖子

311

积分

中级会员

Rank: 3Rank: 3

积分
311
QQ
发表于 2008-6-16 17:35:00 | 显示全部楼层

Re:可以这个样子吗?基类不是纯虚函数,子类却是。

抽象工厂模式中隐藏所有子类的实现代码,只留接口供别人使用

3

主题

32

帖子

36

积分

注册会员

Rank: 2

积分
36
发表于 2008-6-27 13:00:00 | 显示全部楼层

Re:可以这个样子吗?基类不是纯虚函数,子类却是。

当然可以
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 03:35

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表