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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1_5 PrototypeMode 原型(克隆)模式

發布時間:2024/4/11 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1_5 PrototypeMode 原型(克隆)模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
// 定義:總原型實例指定創建對象的種類,并且通過拷貝這些 // 原型創建新的對象 // // 模式舉例:孫悟空拔一根猴毛變出很多個自己 // // 模式知識:有人把他翻譯為原型模式,也有人把他翻譯為克隆模式 // //#include<iostream> #include<string> using namespace std;//疑問點:感覺這個模式添加一個拷貝構造函數和clone函數就可以了 // 不需要寫什么虛函數和繼承class Person { public:Person(){}Person(string name):m_name(name){}//這里需要寫拷貝構造函數嗎?//這個虛函數在父類這里需要實現嗎?virtual Person * clone()=0;virtual void showMe(){cout <<"person name is "<<m_name<<endl;}protected:string m_name; };class Boy : public Person { public:Boy(string name):Person(name){}Boy(const Boy& b){this->m_name = b.m_name;}virtual Person * clone(){return new Boy(*this);}virtual void showMe(){cout <<"this is a boy;";Person::showMe();} };int main() {Boy * xiaoming = new Boy("xiaoming");Person * xiaoming2 = xiaoming->clone();xiaoming2->showMe();return 0; }

?

總結

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

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