设计模式Before-after之原型模式
来源:互联网 发布:手机mac地址怎么修改 编辑:程序博客网 时间:2024/04/28 12:51
before.cxx
#include <iostream>class Factorial {public:Factorial(unsigned int n) {double value = 1;for (unsigned int k = 2; k < n; ++k) {value *= k;}this->value = value;}void displayValue(void) {std::cout << this->value << std::endl;}private:double value;};int main(void) {Factorial factorial1(100);factorial1.displayValue();Factorial factorial2(100);factorial2.displayValue();Factorial factorial3(100);factorial3.displayValue();return 0;}
after.cxx
#include <iostream>class Prototype {public:virtual Prototype *clone(void) = 0;};class Factorial: public Prototype {public:Factorial(unsigned int n) {double value = 1;for (unsigned int k = 2; k < n; ++k) {value *= k;}this->value = value;}void displayValue(void) {std::cout << this->value << std::endl;}Prototype *clone(void) {Factorial *copy = reinterpret_cast<Factorial *>(new unsigned char[sizeof Factorial]);*copy = *this;return copy;}private:double value;};int main(void) {Factorial factorial1(100);factorial1.displayValue();Factorial *factorial2 = static_cast<Factorial *>(factorial1.clone());factorial2->displayValue();delete factorial2;Factorial *factorial3 = static_cast<Factorial *>(factorial1.clone());factorial3->displayValue();delete factorial3;return 0;}
0 0
- 设计模式Before-after之原型模式
- 设计模式Before-after之适配器模式
- 设计模式Before-after之组合模式
- 设计模式Before-after之装饰模式
- 设计模式Before-after之代理模式
- 设计模式Before-after之简单工厂模式
- 设计模式Before-after之工厂方法模式
- 设计模式Before-after之抽象工厂模式
- 设计模式Before-after之建造者模式
- 设计模式Before-after之桥接模式
- 设计模式Before-after之单例模式
- 设计模式Before-after之享元模式
- 设计模式之原型
- 设计模式之原型
- 设计模式 之 原型
- 设计模式之原型
- 设计模式之原型
- 设计模式之原型模式
- 调用方法名
- MYSQL 导入数据库出错
- QT中文乱码的解
- vs 添加qt提示
- 百度地图开发1
- 设计模式Before-after之原型模式
- c#的一些小知识点:object/string 转化为float,float保留2位小数,Replace的使用,静态方法的调用
- C#调用window32API函数
- hibernate n+1
- Linechart-flex实例
- linux下svn命令使用大全(share)
- TCP/IP工具
- 使用BigDecimal进行精确运算(实现加减乘除运算) 详细出处参考:http://www.jb51.net/article/43513.htm
- Vim常用设置项