在全局区字符串
浅拷贝 拷贝指针变量的值而不是内存空间
obj2已经析构了 又进行了一次析构
深拷贝:
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
class Name
{
public:
Name(const char* myp)
{
//开辟一个内存把dhfka传入
int len = strlen(myp);
p =(char*) malloc(len + 1);
strcpy(p, myp);
}
//手工编写copy构造函数 使用深拷贝
Name(const Name& obj1)
{
int len = obj1.len;
p = (char*)malloc(len + 1);
strcpy(p, obj1.p);
}
~Name()
{
if (p != NULL)
{
free(p);
p = NULL;
len = 0;
}
}
protected:
private:
char* p;
int len;//指针指向空间的长度
};
void objmain()
{
Name obj1("dhfka");
//Name obje2 = obj1;//默认的copy构造函数
Name obj3 = ("obj3");
obj3 = obj1;//等号操作 把对象1的属性拷贝对象3的属性
//显示重载等号操作符
return;
}
void main()
{
objmain();
}