prototype模式
1 #include <iostream> 2 using namespace std; 3 4 class base 5 { 6 public: 7 int x; 8 base():x(3){} 9 virtual base* clone()=0; 10 virtual ~base(){} 11 void f(){ 12 cout<<x<<endl; 13 } 14 }; 15 16 17 class derieved : public base 18 { 19 public: 20 21 derieved(){} 22 virtual base* clone(){ 23 return new derieved(*this); 24 } 25 }; 26 27 int main() 28 { 29 base* kaka=new derieved(); 30 base* kaka_copy=kaka->clone(); 31 kaka_copy->f(); 32 return 0; 33 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步