#include<fcntl.h>#include<iostream>#include<cstring>#include<cstdlib>#include<unistd.h>usingnamespacestd;classHuman{private:virtualvoidgive_shell(){system("/bin/sh");}protected:intage;stringname;public:virtualvoidintroduce(){cout<<"My name is "<<name<<endl;cout<<"I am "<<age<<" years old"<<endl;}};classMan:publicHuman{public:Man(stringname,intage){this->name=name;this->age=age;}virtualvoidintroduce(){Human::introduce();cout<<"I am a nice guy!"<<endl;}};classWoman:publicHuman{public:Woman(stringname,intage){this->name=name;this->age=age;}virtualvoidintroduce(){Human::introduce();cout<<"I am a cute girl!"<<endl;}};intmain(intargc,char*argv[]){Human*m=newMan("Jack",25);Human*w=newWoman("Jill",21);size_tlen;char*data;unsignedintop;while(1){cout<<"1. use\n2. after\n3. free\n";cin>>op;switch(op){case1:m->introduce();w->introduce();break;case2:len=atoi(argv[1]);data=newchar[len];read(open(argv[2],O_RDONLY),data,len);cout<<"your data is allocated"<<endl;break;case3:deletem;deletew;break;default:break;}}return0;}