日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++原型模式(Prototype)

發布時間:2025/7/14 c/c++ 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++原型模式(Prototype) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原型模式是通過已經存在的對象的接口快速方便的創建新的對象。

#include <iostream> #include <string>using namespace std;class Prototype { public:virtual Prototype *Clone() = 0;virtual void display() = 0; };class Prototype1:public Prototype { protected:string name;int id; public:Prototype1(string name, int id){this->name = name;this->id = id;}Prototype1(const Prototype1 &type){this->name = type.name;this->id = type.id;}virtual void display(){cout<< "my name and id are :" << this->id << " "<<this->name <<endl;}Prototype *Clone(){return new Prototype1(*this);}}; class Prototype2:public Prototype { protected:string name; public:Prototype2(string name){this->name = name;}Prototype2(const Prototype2 &type){this->name = type.name;}virtual void display(){cout << "my name is :" << this->name << endl;}Prototype *Clone(){return new Prototype2(*this);}};int main() {Prototype *obj1 = new Prototype1("mafuli",1);Prototype *obj2 = obj1->Clone();Prototype *obj3 = obj2->Clone();obj2->display();obj3->display();Prototype *obj4 = new Prototype2("cxue");Prototype *obj5 = obj4->Clone();Prototype *obj6 = obj5->Clone();obj4->display();obj5->display();obj6->display();getchar();return 0; }

輸出信息為:

my name and id are :1 mafuli my name and id are :1 mafuli my name is :cxue my name is :cxue my name is :cxue

?

總結

以上是生活随笔為你收集整理的c++原型模式(Prototype)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。