原型模式(Prototyhpe)
:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
- 从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。
浅复制
被复制的对象所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍指指向原来的对象
输出为
Company: HH Name: tom
Company: HH Name: who
深复制
把引用对象的变量指向复制过的新对象,而不是原有的被引用的对象。
输出为
Company: Ton Name: tom
Company: HH Name: who
#include <iostream>
#include "Object.h"
#include "Resume.h"
int main(void){
Resume *a,*b;
a = new Resume();
a->setWorkExperience("Ton");
a->setPersonalInfo("tom");
b = ( Resume* )a->clone();
b->setWorkExperience("HH");
b->setPersonalInfo("who");
a->display();
b->display();
return 0;
}