当前位置: 首页 > news >正文

专做排名的网站wordpress样式乱了

专做排名的网站,wordpress样式乱了,金蝶软件免费版下载,建筑八大员报考时间和条件工厂模式属于创建型模式#xff0c;大致可以分为三类#xff0c;简单工厂模式、工厂方法模式、抽象工厂模式。二. 工厂方法模式所谓工厂方法模式#xff0c;是指定义一个用于创建对象的接口#xff0c;让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子…工厂模式属于创建型模式大致可以分为三类简单工厂模式、工厂方法模式、抽象工厂模式。二. 工厂方法模式所谓工厂方法模式是指定义一个用于创建对象的接口让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。还以刚才的例子解释这家电子厂赚了不少钱于是决定再开设一个厂其中一个工厂专门用来生产A型号的产品也就是只生产电吹风而另一工厂专门用来生产B型号的产品也就是只生产电风扇这样分工明确了。以后客户要再下定单时可以直接找到相关的工厂了比如要A型号的产品就找A工厂要不再担心下的定单是A生产出来的是B产品了。代码实现abstractClass.h#ifndef ABSTRACTCLASS_H#define ABSTRACTCLASS_H#include #include typedef struct {size_t size;void* (*ctor)(void *_self, va_list *params);void* (*dtor)(void *_self);} AbstractClass;#endiffactory.h#ifndef FACTORY_H#define FACTORY_H#include #include typedef struct {size_t size;void* (*ctor)(void *_self, va_list *params);void* (*dtor)(void *_self);void* (*createProduct)(const void *_self);} Factory;#endiffactoryA.h#ifndef FACTORYA_H#define FACTORYA_Htypedef struct {const void *_;} _FactoryA;extern const void *FactoryA;#endiffactoryA.c#include factory.h#include factoryA.h#include productA.h#include new.h#include static void *factoryACtor(void *_self, va_list *params){_FactoryA *self _self;return self;}static void *factoryADtor(void *_self) {_FactoryA *self _self;return self;}static void* factoryACreateProduct(const void *self) {return New(ProductA);}static const Factory _factory {sizeof(_FactoryA),factoryACtor,factoryADtor,factoryACreateProduct};const void *FactoryA _factory;factoryB.h#ifndef FACTORYB_H#define FACTORYB_Htypedef struct {const void *_;} _FactoryB;extern const void *FactoryB;#endiffactoryB.c#include factory.h#include factoryB.h#include productB.h#include new.h#include static void *factoryBCtor(void *_self, va_list *params){_FactoryB *self _self;return self;}static void *factoryBDtor(void *_self) {_FactoryB *self _self;return self;}static void* factoryBCreateProduct(const void *self) {return New(ProductB);}static const Factory _factory {sizeof(_FactoryB),factoryBCtor,factoryBDtor,factoryBCreateProduct};const void *FactoryB _factory;product.h#ifndef PRODUCT_H#define PRODUCT_H#include #include typedef struct {size_t size;void* (*ctor)(void *_self, va_list *params);void* (*dtor)(void *_self);void (*show)(const void *_self);} Product;#endifproductA.h#ifndef PRODUCTA_H#define PRODUCTA_Htypedef struct {const void *_;} _ProductA;extern const void *ProductA;#endifproductA.c#include product.h#include productA.h#include #include static void *productACtor(void *_self, va_list *params) {_ProductA *self _self;return self;}static void *productADtor(void *_self) {_ProductA *self _self;return self;}static void productAShow(const void *_self) {(void)_self;fprintf(stdout, Product A\n);}static const Product _product {sizeof(_ProductA),productACtor,productADtor,productAShow};const void *ProductA _product;productB.h#ifndef PRODUCTB_H#define PRODUCTB_Htypedef struct {const void *_;} _ProductB;extern const void *ProductB;#endifproductB.c#include product.h#include productB.h#include #include #include static void *productBCtor(void *_self, va_list *params) {_ProductB *self _self;return self;}static void *productBDtor(void *_self) {_ProductB *self _self;return self;}static void productBShow(const void *_self) {(void)_self;fprintf(stdout, Product B\n);}static const Product _product {sizeof(_ProductB),productBCtor,productBDtor,productBShow};const void *ProductB _product;new.h#ifndef NEW_H#define NEW_Hvoid *New(const void *_class, ...);void Delete(void *_class);void *CreateProduct(const void *_factory);void Show(const void *product);#endifnew.c#include new.h#include abstractClass.h#include factory.h#include product.h#include #include #include #include void *New(const void *_class, ...) {const AbstractClass *class _class;void *p calloc(1, class-size);assert(p);*(const AbstractClass **)p class;if (class-ctor) {va_list params;va_start(params, _class);p class-ctor(p, ¶ms);va_end(params);}return p;}void Delete(void *_class) {const AbstractClass **class _class;if (_class *class (*class)-dtor) {_class (*class)-dtor(_class);}free(_class);}void *CreateProduct(const void *_factory) {const Factory * const *factory _factory;if (_factory *factory (*factory)-createProduct) {return (*factory)-createProduct(_factory);} else {return NULL;}}void Show(const void *_product) {const Product * const *product _product;if (_product *product (*product)-show) {(*product)-show(_product);}}main.c#include new.h#include factoryA.h#include factoryB.hint main(int argc, char *argv[]) {void *facA New(FactoryA);void *facB New(FactoryB);void *pro1 CreateProduct(facA);void *pro2 CreateProduct(facB);void *pro3 CreateProduct(facA);Show(pro1);Show(pro2);Show(pro3);Delete(facA);Delete(facB);Delete(pro1);Delete(pro2);Delete(pro3);return 0;}图片来源http://blog.csdn.net/hmsiwtv/article/details/9627109
http://www.pierceye.com/news/229938/

相关文章:

  • 网站空间域名维护协议网站备案的意义
  • word可以做网站链接吗网站推广的基本方法有哪些
  • 公司展示型网站wordpress后台邮箱怎么设置
  • 小程序咸鱼之王2022年搜索引擎优化指南
  • 企业网站建设 价格wordpress汉化主题
  • 兰州市建设厅官方网站做网站用的编程工具
  • 网站建设及维护招聘周口航迪科技网站建设公司怎么样
  • 服装外贸网站建设discuz应用
  • flash个人网站欣赏网站营销单页怎么做
  • 设计网站用什么语言网站建设需求范文
  • seo织梦网站建设步骤昆明网络营销软件
  • 企业网站 静态页面成都设计公司邮箱
  • 创世网站建设 优帮云北京网站建设工作室
  • 网站空间提供商哪个网站可以做英文兼职
  • 社区网站制作平台网站建设调研报告
  • 不会建网站怎么赚钱dw个人主页模板
  • 自助建站系统哪个好thinkphp做的网站源码
  • 广州企业网站模板建站现在有什么网站可以做兼职的
  • 网站开发 公司百度seo公司整站优化软件
  • 沈阳学网站制作学校网络推广龙岗比较好的
  • 佛山 建站公司网站风格一般具有哪三大特征
  • 网站的二级页面怎么做济南网站建设行知科技不错
  • 网站赢利如何查看实时街景地图
  • 手表网站欧米茄官方网络平台管理制度和管理办法
  • 北京网站建设网站网站不用工具开发建设
  • 杭州做网站外包公司有哪些网站幻灯片效果
  • 北京模板建站代理好看怎么上传视频网站吗
  • 品牌网站建设小科6a蚪html制作电影网页
  • 环保网站建设维护情况报告北京seo方法
  • 网站建设及使用企业名字查重系统