work.cpp
#include <iostream>
#include <cstring>
using namespace std;
class Stu{
string name;
int age;
int score;
int *high;
public:
Stu(string name,int age,int score,int high):name(name),age(age),score(score){
this->high = new int(high);
}
Stu(const Stu &other):name(other.name),age(other.age),score(other.score){
this->high = new int(*(other.high));
cout<<"拷贝函数"<<endl;
}
void show(){
cout<<"name="<<this->name<<" age="<<this->age<<" score="<<this->score<<" high="<<*(this->high)<<" "<<endl;
}
~Stu(){
delete high;
cout<<"析构函数"<<endl;
}
};
int main()
{
string name;
cout<<"请输入名字"<<endl;
getline(cin,name);
int age,score,high;
cout<<"请输入年龄"<<endl;
cin>>age;
cout<<"请输入分数"<<endl;
cin>>score;
cout<<"请输入身高"<<endl;
cin>>high;
Stu *p = new Stu(name,age,score,high);
p->show();
Stu p2 = *p;
p2.show();
delete p;
p=nullptr;
return 0;
}