您的位置:首页 > 运维架构

显示定义copy构造函数实现

2015-09-07 15:47 302 查看
copy构造函数实现对象的深拷贝

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

class A{

private:

char *p;

public:



A(const A &a)

{

p=(char *)malloc(sizeof(10));

memset(p,0,sizeof(p));

memcpy(p,a.p,sizeof(a.p));

}

A(char *p1)

{

p=(char *)malloc(sizeof(10));

memset(p,0,sizeof(p));

memcpy(p,p1,sizeof(p1));

}

char *getP()

{

return p;

}

~A()

{

if(p!=NULL)

{

free(p);

p=NULL;

}

}

};

void main()

{

char s[]="abc";

A myA(s);

A myB=myA;

printf("%s %s",myA.getP(),myB.getP());

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: