Prototype模式
来源:互联网 发布:mac不能新建文件夹 编辑:程序博客网 时间:2024/06/10 09:00
Prototype模式通过复制原型(Prototype)而获得新对象创建的功能,这里Prototype本身就是“对象工厂”
prototype.h:
#ifndef _PROTOTYPE_H_#define _PROTOTYPE_H_class Prototype{public:virtual ~Prototype();virtual Prototype* Clone() const = 0;protected:Prototype();private:};class ConcretePrototype:public Prototype{public:ConcretePrototype();ConcretePrototype(const ConcretePrototype& cp);~ConcretePrototype();Prototype* Clone() const;protected:private:};#endif //~_PROTOTYPE_H_prototype.cpp:
#include "prototype.h"#include <iostream>using namespace std;Prototype::Prototype(){}Prototype::~Prototype(){}Prototype* Prototype::Clone() const{return 0;}ConcretePrototype::ConcretePrototype(){}ConcretePrototype::~ConcretePrototype(){}ConcretePrototype::ConcretePrototype(const ConcretePrototype& cp){cout<<"ConcretePrototype copy ..."<<endl;}Prototype* ConcretePrototype::Clone() const{return new ConcretePrototype(*this);}main.cpp:
#include "prototype.h"#include <iostream>using namespace std;int main(){Prototype* p = new ConcretePrototype();Prototype* p1 = p->Clone();return 1;}
0 0
- Prototype 模式
- prototype模式
- Prototype模式
- Prototype模式
- Prototype 模式
- Prototype 模式
- Prototype模式
- Prototype模式
- Prototype模式
- Prototype模式
- Prototype模式
- Prototype模式
- Prototype 模式
- Prototype模式
- prototype模式
- Prototype模式
- Prototype模式
- Prototype模式
- iOS开发 -- Objective-c 中 nil, Nil, NULL和NSNull的区别
- TCP/IP/Socket
- C++ 恢复访问权限示例
- 关于“不能实例化抽象类“错误的解决办法
- C 语言之折半查找
- Prototype模式
- PyCharm 支持中文和代理方法
- DP的一些注意点以及题目
- 大数阶乘
- HDOJ题目分类
- 题目1185:特殊排序
- 邻接矩阵输出程序(问题)
- 黑马程序员_代理,动态代理的经典总结
- 打印出菱形