下面的程序,因为存在指针类型的数据成员,需要能完成深复制的构造函数。请补充完整构造函数和析构函数(其他不必动)。其中,构造函数要完成下面三个任务:
(1)为各成员函数赋值,按照深复制原则,其中arrayAddr应该是为保存数据新分配的连续空间的首地址;
(2)MyArray(int *a, int n)中,要将a指向的数组中的数值,逐个地复制到新分配的arrayAddr指向的空间中;
(3)...
分类:
编程语言 时间:
2015-04-14 14:44:51
阅读次数:
132
(3)为类A增加复制构造函数,用下面的main函数测试
int main()
{
A a("good morning, code monkeys!");
a.output();
A b(a);
b.output();
return 0;
}
参考解答:
/* Copyright (c) 2014, 烟台大学计算机学院
* A...
分类:
其他好文 时间:
2015-04-14 12:57:51
阅读次数:
134
/*
*copyright(c) 2015,烟台大学计算机学院
*All rights reserved。
*文件名称:第六周(深复制)
*作者:王忠
*完成日期:2015.4.12
*版本号:v1.0
*
*问题描述:需要能完成深复制的构造函数。请补充完整构造函数和析构函数(其他不必动)。其中,构造函数要完成下面三个任务:
(1)为各成员函数赋值,按照深复制原则,其中array...
分类:
编程语言 时间:
2015-04-13 09:46:06
阅读次数:
127
问题及代码
下面的程序,因为存在指针类型的数据成员,需要能完成深复制的构造函数。请补充完整构造函数和析构函数(其他不必动)。其中,构造函数要完成下面三个任务:
(1)为各成员函数赋值,按照深复制原则,其中arrayAddr应该是为保存数据新分配的连续空间的首地址;
(2)MyArray(int *a, int n)中,要将a指向的数组中的数值,逐个地复制到新分配的arrayAddr指向的空间...
分类:
编程语言 时间:
2015-04-12 13:28:15
阅读次数:
197
输入代码1:
/*
* Copyright (c) 2015, 烟台大学计算机学院
* All rights reserved.
* 文件名称:sum123.cpp
* 作 者:林海云
* 完成日期:2015年4月11日
* 版 本 号:v2.0
*
* 问题描述:指针的复制
* 输入描述:NULL;
...
分类:
其他好文 时间:
2015-04-12 00:07:19
阅读次数:
137
#include
#include
using namespace std;
class A
{
private:
char *a;
public:
A(char *aa)
{
a = new char[strlen(aa)+1]; //(a)这样处理的意义在于:为aa指针开辟出空间
strcpy(a, aa); /...
分类:
其他好文 时间:
2015-04-09 15:30:44
阅读次数:
109
浅复制:只复制指向对象的指针,而不复制引用对象本身。计数器+1 ,就像比如retain深层复制:复制引用对象本身。计数器不变,产生新对象retain:始终是浅复制。引用计数每次加一。返回对象是否可变与被复制的对象保持一致。copy:对于可变对象为深复制,引用计数不改变;对于不可变对象是浅复制,引用计...
分类:
其他好文 时间:
2015-04-02 14:52:52
阅读次数:
114
浅复制:只复制指向对象的指针,而不复制引用对象本身。计数器+1 ,就像比如retain深层复制:复制引用对象本身。计数器不变,产生新对象retain:始终是浅复制。引用计数每次加一。返回对象是否可变与被复制的对象保持一致。copy:对于可变对象为深复制,引用计数不改变;对于不可变对象是浅复制,引用计...
分类:
其他好文 时间:
2015-04-01 21:35:47
阅读次数:
162
##浅复制与深复制概念## 浅复制(浅克隆) :被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。 深...
分类:
编程语言 时间:
2015-03-31 18:19:01
阅读次数:
110
什么是设计模式?工厂模式、抽象工厂模式、创建者模式、原型模式、原型模式的潜复制及深复制、单例模式、命令模式详解...
分类:
其他好文 时间:
2015-03-22 09:19:37
阅读次数:
294