zoukankan      html  css  js  c++  java
  • template模式

     1 #include <iostream>
     2 using namespace std;
     3 class AbstractClass {
     4 public:
     5     AbstractClass() {
     6     }
     7     virtual ~AbstractClass() {
     8     }
     9 // 这个函数中定义了算法的轮廓
    10     void TemplateMethod();
    11 protected:
    12 // 纯虚函数,由派生类实现之
    13     virtual void PrimitiveOperation1() = 0;
    14     virtual void PrimitiveOperation2() = 0;
    15 };
    16 // 继承自AbstractClass,实现算法
    17 class ConcreateClass: public AbstractClass {
    18 public:
    19     ConcreateClass() {
    20     }
    21     virtual ~ConcreateClass() {
    22     }
    23 protected:
    24     virtual void PrimitiveOperation1();
    25     virtual void PrimitiveOperation2();
    26 };
    27 
    28 void AbstractClass::TemplateMethod() {
    29     PrimitiveOperation1();
    30     PrimitiveOperation2();
    31 }
    32 void ConcreateClass::PrimitiveOperation1() {
    33     cout << "PrimitiveOperation1 by ConcreateClass\n";
    34 }
    35 void ConcreateClass::PrimitiveOperation2() {
    36     cout << "PrimitiveOperation2 by ConcreateClass\n";
    37 }
    38 
    39 int main() {
    40     AbstractClass* pConcreateClass = new ConcreateClass;
    41     pConcreateClass->TemplateMethod();
    42     delete pConcreateClass;
    43     return 0;
    44 }
  • 相关阅读:
    ZJOI2019爆蛋记
    NOIp2018退役记
    拓展中国剩余定理(exCRT)摘要
    FFT(快速傅里叶变换)摘要
    主席树摘要
    LCT摘要
    替罪羊树摘要
    FHQ Treap摘要
    逻辑回归1-逻辑回归原理详解
    NLP自然语言处理原理及名词介绍
  • 原文地址:https://www.cnblogs.com/kakamilan/p/2609220.html
Copyright © 2011-2022 走看看