Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1413928
  • 博文数量: 241
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 2253
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-11 22:27
个人简介

--

文章分类

全部博文(241)

文章存档

2021年(3)

2019年(6)

2018年(1)

2017年(9)

2016年(21)

2015年(50)

2014年(125)

2013年(26)

我的朋友

分类: C/C++

2014-02-25 10:02:35

1、是什么?
    定义一个操作中的算法骨架,而将一些步骤推迟到具体的子类中实现。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。

2、为什么?
模板方法模式通过把不变行为搬移到超类,去除子类的重复代码体现优势,是一个很好的代码复用平台。

3、怎么用?
UML类图


4、如何做?
示例代码

点击(此处)折叠或打开

  1. #include <iostream>

  2. using namespace std;

  3. class Paper
  4. {
  5. public:
  6.     void Question_one()
  7.     {
  8.         cout<<"题目一:×××××\n";
  9.         cout<<"答案:"<<Answer_one()<<endl;
  10.     }
  11.     virtual int Answer_one()
  12.     {
  13.         return 0;
  14.     }
  15. };

  16. class Student_A : public Paper
  17. {
  18. public:
  19.     int Answer_one()
  20.     {
  21.         return 1;
  22.     }
  23. };

  24. void main()
  25. {
  26.     cout<<"hello world!\n";
  27.     Student_A a;
  28.     a.Question_one();
  29. }
阅读(478) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~