//原型方法就是克隆自己,用的很多啊
#include <iostream>
using namespace std;
class Lenovo{
public:
Lenovo(){cout << "a Lenovo computer created" << endl;}
virtual ~Lenovo(){cout << "a Lenovo computer destoryed" << endl;}
virtual Lenovo* copy() = 0;
};
class HighLenovo:public Lenovo{
public:
HighLenovo(){cout << "a HighLenovo computer created" << endl;}
virtual ~HighLenovo(){cout << "a HighLenovo computer destoryed" << endl;}
virtual Lenovo* copy(){
return new HighLenovo;
}
};
Lenovo* copyComputer(Lenovo* p){
return p->copy();
}
int main(){
Lenovo* l = new HighLenovo;
Lenovo* l1 = copyComputer(l);
delete l;
delete l1;
return 0;
}
原型模式
最新推荐文章于 2024-06-27 11:09:56 发布