zoukankan      html  css  js  c++  java
  • 面试:C++工厂模式实现

     1 #include <iostream>
     2 
     3 enum CTYPE {PRODUCTA,PRODUCTB};
     4 class Product{
     5 public:
     6     virtual void func() = 0;
     7     virtual ~Product(){};
     8 };
     9 
    10 class ProductA : public Product{
    11 public:
    12     void func(){
    13         std::cout << "create ProductA..." << std::endl;
    14     }
    15 };
    16 
    17 class ProductB : public Product{
    18 public:
    19     void func(){
    20         std::cout << "create ProductB..." << std::endl;
    21     }
    22 };
    23 
    24 class Factory{
    25 public:
    26     static Product* createProduct(enum CTYPE ctype){
    27         if(ctype == PRODUCTA)
    28             return new ProductA;
    29         else if(ctype == PRODUCTB){
    30             return new ProductB;
    31         }else
    32             return nullptr;
    33     }
    34 };
    35 
    36 int main(){
    37     Product* p = Factory::createProduct(CTYPE::PRODUCTA);
    38     p->func();
    39     return 0;
    40 }
  • 相关阅读:
    scheduletask任务调度(2间隔时间)
    scheduletask任务调度
    初始webservice
    ssh整合
    aop
    自定义框架(MyMvc)
    数据校验
    原生态ajax
    struts2国际化
    文件下载
  • 原文地址:https://www.cnblogs.com/wxquare/p/5140748.html
Copyright © 2011-2022 走看看