代码:
#include <iostream>
#include <string>
using namespace std;
class object
{
public:
object(){}
virtual ~object(){}
virtual object* clone() = 0;
};
class resume : public object
{
private:
string name;
string sex;
string age;
string timeArea;
string company;
public:
resume() {}
virtual ~resume(){}
resume(string m_name):name(m_name){}
void setpersoninfo(string m_sex, string m_age)
{
sex = m_sex;
age = m_age;
}
void setcompanyinfo(string m_timeArea, string m_company)
{
timeArea = m_timeArea;
company = m_company;
}
void display()
{
cout<<"name: "<<name<<"\n";
cout<<"sex: "<<sex<<"\n";
cout<<"age: "<<age<<"\n";
cout<<"timeArea: "<<timeArea<<"\n";
cout<<"company: "<<company<<"\n";
}
resume* clone();
};
resume* resume::clone()
{
return new resume(*this);
}
int main()
{
resume *a = new resume("lilei");
a->setpersoninfo("男","28");
a->setcompanyinfo("2014-2015","贝尔");
a->display();
resume *b = a->clone();
b->setpersoninfo("男","27");
b->setcompanyinfo("2014-2019","intel");
b->display();
return 0;
}
结果:
ngnsvr9 [** NONE **]/home/xionghailong/demo/res $ g++ main.cpp -o main
ngnsvr9 [** NONE **]/home/xionghailong/demo/res $ ./main
name: lilei
sex: 男
age: 28
timeArea: 2014-2015
company: 贝尔
name: lilei
sex: 男
age: 27
timeArea: 2014-2019
company: intel