深拷贝

main.cpp

 #include <stdio.h>
#include "IntArray.h" int main()
{
IntArray a(); for(int i=; i<a.length(); i++)
{
a.set(i, i + );
} for(int i=; i<a.length(); i++)
{
int value = ; if( a.get(i, value) )
{
printf("a[%d] = %d\n", i, value);
}
} IntArray b = a; for(int i=; i<b.length(); i++)
{
int value = ; if( b.get(i, value) )
{
printf("b[%d] = %d\n", i, value);
}
} a.free();
b.free(); return ;
}

IntArray.cpp

 #include "IntArray.h"

 IntArray::IntArray(int len)
{
m_pointer = new int[len]; for(int i=; i<len; i++)
{
m_pointer[i] = ;
} m_length = len;
} IntArray::IntArray(const IntArray& obj)
{
m_length = obj.m_length; m_pointer = new int[obj.m_length]; for(int i=; i<obj.m_length; i++)
{
m_pointer[i] = obj.m_pointer[i];
}
} int IntArray::length()
{
return m_length;
} bool IntArray::get(int index, int& value)
{
bool ret = ( <= index) && (index < length()); if( ret )
{
value = m_pointer[index];
} return ret;
} bool IntArray::set(int index, int value)
{
bool ret = ( <= index) && (index < length()); if( ret )
{
m_pointer[index] = value;
} return ret;
} void IntArray::free()
{
delete[]m_pointer;
}

IntArray.h

 #ifndef _INTARRAY_H_
#define _INTARRAY_H_ class IntArray
{
private:
int m_length;
int* m_pointer;
public:
IntArray(int len);
IntArray(const IntArray& obj);
int length();
bool get(int index, int& value);
bool set(int index ,int value);
void free();
}; #endif

最新文章

  1. 测试EF6.1.3和OrmLite性能
  2. CSS魔法堂:hasLayout原来是这样!
  3. Wordpress去除管理员工具条
  4. 那些在学习iOS开发前就应该知道的事(part 2)
  5. 兼容IE与firefox的css 线性渐变(linear-gradient)
  6. MSDN:Code First 迁移
  7. KNN算法java实现代码注释
  8. UltraISO做U盘启动盘教程
  9. D - 小晴天老师系列——晴天的后花园
  10. 服务器Hadoop+Hive搭建
  11. SQL Server 锁机制 悲观锁 乐观锁 实测解析
  12. R语言-动画
  13. js 关于日期,字符串转化
  14. python 进程 线程
  15. js生成四位随机数的简便方法
  16. Windows Python requests 详细模块安装方法
  17. [ExtJS5学习笔记]第三十二节 sencha extjs 5与struts2的ajax交互配置
  18. CF#483(div2 C)
  19. android studio发布项目到github
  20. SQL Server 执行计划解析

热门文章

  1. PAT甲级代码仓库
  2. Ubuntu 搭建phpcms
  3. 分库分表技术演进&amp;最佳实践
  4. XGBoost学习笔记1
  5. bootstrap支持ie8 让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法
  6. SpringBoot从1.5.1→2.2.4项目加包扫雷一:Error:(8, 44) java: 程序包org.springframework.boot.web.support不存在
  7. java-局部变量,成员变量区别
  8. PTA 1005 Spell It Right
  9. Magento2 自定义生成日志函数
  10. 修改Linux中ssh协议中的默认端口号22