#include<iostream> using namespace std; class Person{ public: Person(){ cout<<"无参构造函数!"<<endl; } Person(int age,int height){ m_Age=age; m_Height=new int(height); cout<<" 带参构造函数!"<<endl; cout<<" 年龄 "<<m_Age<<endl; cout<<" 身高 "<<*m_Height<<endl; } Person(const Person &p){ cout<<"拷贝构造函数"<<endl; m_Age=p.m_Age; //m_Height=p.m_Height; //浅拷贝 m_Height=new int(*p.m_Height); //深拷贝 cout<<" 拷贝构造年龄 "<<m_Age<<endl; cout<<" 拷贝构造身高 "<<*m_Height<<endl; } ~Person(){ if (m_Height!=NULL){ delete m_Height; m_Height=nullptr; } cout<<"析构函数"<<endl; } int m_Age=0; int *m_Height=nullptr; }; void test01(){ Person person1(10,110); Person person2(person1); } int main(int args ,char **argv){ test01(); return 0; }
标签:std,cout,namespace,Person,拷贝,public From: https://www.cnblogs.com/gishuanhuan/p/18089959