#include <iostream>using namespace std;
class per
{string name;int age;int *p;int *q;
public:per(string name,int age,int a,int b){this->name=(name);this->age=age;p=new int(a);q=new int(b);*q=b;*p=a;cout << "有参构造"<<endl;}void show(){cout <<"姓名"<<name<<endl;cout <<"年龄"<<age<<endl;cout <<"身高"<<*p<<endl;cout <<"体重"<<*q<<endl;}per(per &other){this->name=other.name;this->age=other.age;p=new int;*p=*(other.p);q=new int;*q=*(other.q);cout<<"per的拷贝构造函数"<<endl;}~per(){cout <<"准备释放空间"<<endl;delete p;delete q;cout <<"per的析构函数"<<endl;}};
class stu
{int chengji;
public:per p1;stu(int chengji,string name,int age,int a,int b):chengji(chengji),p1(name,age,a,b){cout <<"stu的有参构造"<< endl;}void show(){p1.show();cout<<chengji<<endl;}stu(stu &other):p1(other.p1){this->chengji=other.chengji;cout<<"stu的拷贝构造函数"<<endl;}~stu(){cout<<"stu的析构函数"<<endl;}};
int main()
{stu p2(100,"lxx",18,180,70);stu p3=p2;p2.show();cout << "-----------------" << endl;p3.show();return 0;
}