- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
清华大学c课件第6章汇
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *********************************************************2007/05/08 * * * * * * * * * * * * * * * * * * * * * * * ***************************2007/11/07 * * * *****************************2007/04/24 * * * * * * * * * * * * * * * * * ****************************************2008/04/09 * * * * * * * * * 动态内存释放函数 void free( void *memblock ); 参数memblock:指针,指向需释放的内存。 返回值:无 头文件:cstdlib 和 cmalloc 动态存储分配 * 浅拷贝与深拷贝 浅拷贝 实现对象间数据元素的一一对应复制。 深拷贝 当被复制的对象数据成员是指针类型时,不是复制该指针成员本身,而是将指针所指的对象进行复制。 浅拷贝与深拷贝 * 例6-20对象的浅拷贝 #includeiostream using namespace std; class Point { //类的定义同例6-16 //…… }; class ArrayOfPoints { //类的定义同例6-18 //…… }; 浅拷贝与深拷贝 int main() { int number; cinnumber; ArrayOfPoints pointsArray1(number); pointsArray1.Element(0).Move(5,10); pointsArray1.Element(1).Move(15,20); ArrayOfPoints pointsArray2(pointsArray1); coutCopy of pointsArray1:endl; coutPoint_0 of array2: pointsArray2.Element(0).GetX() , pointsArray2.Element(0).GetY()endl; coutPoint_1 of array2: pointsArray2.Element(1).GetX() , pointsArray2.Element(1).GetY()endl; * pointsArray1.Element(0).Move(25,30); pointsArray1.Element(1).Move(35,40); coutAfter the moving of pointsArray1:endl; coutPoint_0 of array2: pointsArray2.Element(0).GetX() , pointsArray2.Element(0).GetY()endl; coutPoint_1 of array2: pointsArray2.Element(1).GetX() , pointsArray2.Element(1).GetY()endl; } * 运行结果如下: Please enter the number of points:2 Default Constructor called. Default Constructor called. Copy of pointsArray1: Point_0 of array2: 5, 10 Point_1 of array2: 15, 20 After the moving of pointsArray1: Point_0 of array2: 25, 30 Point_1 of array2: 35, 40 Deleting... Destructor called. Destructor called. Deleting... 接下来程序出现异常,也就是运行错误。 * 拷贝前 拷贝后 pointsArray1的数组元素占用的内存 points numberOfPoints pointsArray1 points numberOfPoints pointsArray1 pointsArray1的数组元素占用的内存 points numberOfPoints pointsArray2 *
文档评论(0)