預設拷貝建構函式,淺拷貝,深拷貝
阿新 • • 發佈:2019-01-21
result is :#include using namespace std; class Person { public: Person(char *pN) { cout <<"Constructing "<<pn<<endl; pName=new char (strlen(pN)+1); if (pName!=0) { strcpy(pName,pN); } } Person(Person& p) { cout <<"copying "<<p.pname<<"into its="" own="" block\n"; pName=new char [sizeof(p.pName)]; if (pName!=0) strcpy(pName,p.pName); } ~Person() { cout<<"Destructing "<<pname<<endl; pName[0]='\0'; delete pName; } protected: char *pName; } ; int main() { Person p1("Randy"); Person p2=p1; //即Person p2 (p1); }