#include <iostream>
using namespace std;
#include <cstring>
class Person
{
public:
char* name;
char sex;
int age;
Person()
{
name = new char[20];
strcpy_s(name,20, "lisi");
age = 123;
sex = 's';
}
Person(char *name1, int age1, char sex1)
{
name = new char[20];
strcpy_s(name,20, name1);
age = age1;
sex = sex1;
}
Person(const Person& obj)
{
name = new char[20];
age = obj.age;
strcpy_s(name,20, obj.name);
sex = obj.sex;
*name = *obj.name;
}
~Person()
{
delete []name;
}
void print()
{
cout << "name=" << name << endl;
cout << "age=" << age << endl;
cout << "sex=" << sex << endl;
}
};
int main()
{
Person p1;
p1.print();
cout << endl;
char *name = new char[20];
strcpy_s(name,10, "zhangsan");
Person p2(name, 50, 'm');
p2.print();
cout << endl;
Person p3(p2);
p3.print();
return 0;
}
C++深层拷贝
最新推荐文章于 2024-07-02 23:00:31 发布