设计模式之原型模式
时间:2020-08-25 23:55:47
手机看文章
扫描二维码
随时随地手机看文章
[导读]【成功的花儿,人们只惊羡她现时的明艳!当初她的芽儿浸透了奋斗的泪泉,撒遍了牺牲的血雨。】 ——冰心 原型模式也属于创建型模式,用于创建重复的对象,它提供了一种创建相同对象的最佳方式。当直接创建对象需要较大的代价时,可以使用原型模式。例如对象需
|
|
struct Animal {
virtual ~Animal() {}
virtual Animal* Clone() = 0;
virtual void ShowName() = 0;
};
struct Tiger : public Animal {
Animal* Clone() override { return new Tiger(); }
void ShowName() override { std::cout << "Tiger" << std::endl; }
};
int main() {
Animal* animal = new Tiger();
animal->ShowName();
Animal* animal_copy = animal->Clone(); // 想要一个和animal完全相同的实例
animal_copy->ShowName();
return 0;
}
参考资料
https://www.runoob.com/design-pattern/prototype-pattern.html http
https://www.zhihu.com/question/52610176
往期推荐
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!