#include<iostream>
#include "s1.h"
using namespace std;
class person
{
public:
person(int a,int hei)
{
cout << "youcan" << endl;
age = a;
height = new int(hei);
}
person()
{
cout << "wucan" << endl;
}
person(const person &a)
{
cout << "kaobei" << endl;
height = new int(*a.height);
}
~person()
{
if (height != NULL)
{
height = NULL;
delete height;
}
cout << "xigou " << endl;
}
int age;
int* height;
};
void person1()
{
person s(18, 160);
person s3;
cout << s.age << *(s.height) << endl;
person s2(s);
cout << s2.age << *(s2.height) << endl;
}
int main()
{
person1();
}
利用深拷贝解决浅拷贝的问题。