#include <iostream> using namespace std; class per { private: string name; int age; int *high; int *weight; public: //无参构造函数 per() { cout << "per无参构造" << endl; } //有参构造函数 per(string a,int b,int c, int d):name(a),age(b),high(new int (c)),weight(new int (d)) { cout << "per有参构造" << endl; } //析构函数 ~per() { delete [] high; delete [] weight; high=nullptr; weight=nullptr; cout << "per析构函数" << endl; } //拷贝构造函数 per(const per &other):name(other.name),age(other.age),high(other.high),weight(other.weight) { cout << "per拷贝构造函数" << endl; } }; class stu { private: int score; per p; public: //无参构造函数 stu() { cout << "stu无参构造" << endl; } //有参构造函数 stu(int a,string b,int c,int d, int e):score(a),p(b,c,d,e) { cout << "stu有参构造" << endl; } //拷贝构造 stu(const stu &other) { cout << "stu拷贝构造" << endl; } //析构函数 ~stu() { cout << "stu析构函数" << endl; } }; int main() { per a("周星星",28,180,140); stu b(11,"周星星",28,180,140); return 0; }