显示定义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());
}
#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());
}
相关文章推荐
- 多tomcat配置
- opencv运行时exe 无法写进去的解决方法
- linux设备驱动归纳总结(八):3.设备管理的分层与面向对象思想
- linux设备驱动归纳总结(八):2.match.probe.remove
- opencv 如何读取摄像头
- tomcat7部署文件服务器,解决跨域问题
- Snail—iOS开发学习博客及网站
- 使用Haproxy搭建web群集
- 初探 performance – 监控网页与程序性能
- Bash 3.0-4.3命令执行漏洞分析
- linux mysql 安装
- Linux下常用的快捷键
- 【工作笔记0011】IIS网站搭建详细完整步骤,附带域名ip绑定(域名解析)的免费软件
- Hadoop之一 初识Hadoop
- (一)linux下配置jenkins--安装
- OpenSceneGraph FAQ 【转】
- Linux系统下proc目录详解
- Linux线程-互斥锁pthread_mutex_t
- Linux磁盘管理及文件系统
- ConcurrentHashMap、CopyOnWriteArrayList的简要总结: