文章标题
来源:互联网 发布:java编写水仙花数 编辑:程序博客网 时间:2024/06/05 19:08
Effective C++ 条款35:
在一个视频游戏场景中,你打算为游戏内的任务设计一个继承体系。你的游戏是属于暴力砍杀游戏,剧中的任务由于被伤害或其他因素而降低生命值,因此你决定提供一个成员函数healthValue,他会返回一个整数,表示人物的生命值,这时将healthValue声明为一个virtual似乎是再明显不过了。
class GameCharacter{
public:
virtual int healthValue() const; //返回人物的生命值
。。。 //derived classes 可重新定义它
};
healthValue并未被申明为 pure virtual,这暗示我们将会有个计算生命值的缺省算法(见条款34)。
这的确是再明显不过的设计,单数从某个角度来说却反而成为了它的缺点。由于这个设计是如此的明显,你可能因此没有认真考虑其他方案。为了帮助你跳脱面对面对象设计路上的常规,让我们考虑一些解法。
Strategy
阅读全文
0 0
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 5年赚50倍的段永平:这几家公司正在长长的坡上滚着厚厚的雪
- 由IP组播地址 判断 IP地址范围
- 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历
- 平面分隔问题
- 三子棋
- 文章标题
- cordova开发环境配置
- Java数组小程序,对于新手,难度还是挺大的
- Java,三条线程依次交替输出十次ABC
- JS原生中数组去重
- Bugly应用升级SDK采坑
- Currency Exchange
- global 和 nonlocal关键字
- VS2015中设置D3D12根签名HLSL文件自动编译属性时的注意事项