- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
动态内存分配 堆内存分配 1. 堆内存的分配与释放 两种方法:动态创建二维数组 double **data, **score; //方法1: score = new double[m][n]; //方法2: data = new double *[m]; for(int j=0;jm;j++){ data[j] = new double[n]; 两种方法:释放二维数组 //方法1: delete[ ] score; //方法2: for (int i=0;im;i++) delete[ ] data[i]; delete[ ] data; #includeiostream using namespace std; const int m=4; //行数 const int n=6; //列数 void desarray( double (*)[6] ); //函数声明 void main(){ double (*score)[n]; //定义二级指针变量 score = new double[m][n]; //一次分配全部数组单元 if (score == 0){ cout Could not allocate. ; exit(-1); } 2. 堆对象与构造函数 // 动态创建对象 class Point { public: Point() { X=Y=0; coutDefault Constructor called.\n;} Point(int xx,int yy) { X=xx; Y=yy; cout Constructor called.\n; } ~Point() { coutDestructor called.\n; } int GetX() {return X;} int GetY() {return Y;} void Move(int x,int y) { X=x; Y=y; } private: int X,Y; }; 3. 堆对象数组与构造函数 例6-18 动态数组类 class ArrayOfPoints{ private: Point *points; int numberOfPoints; public: ArrayOfPoints(int n) { numberOfPoints=n; points=new Point[n]; } //动态创建数组 ~ArrayOfPoints() { coutDeleting...endl; numberOfPoints=0; delete[ ] points; } Point Element(int n) { return points[n]; } }; int main() { int number; coutPlease enter the number of points:; cinnumber; //创建对象数组 ArrayOfPoints points(number); //通过指针访问数组元素的成员 points.Element(0).Move(5,10); //通过指针访问数组元素的成员 points.Element(1).Move(15,20); } 运行结果如下: Please enter the number of points:2 Default Constructor called. Default Constructor called. Deleting... Destructor called. Destructor called. 堆对象与构造函数 4. 浅拷贝与深拷贝 如果类中有一个数据成员为指针,该类的一个对象obj1中的这个指针p,指向了动态分配的一个堆对象,(参见图7.1拷贝前),如果用obj1按成员拷贝了一个对象obj2,这时obj2.p也指向同一个堆对象。 当析构时,如用缺省的析构函数,则动态分配的堆对象不能回收。如果在析构函数中有“delete p;”语句,则如果先析构函数obj1时,堆对象已经释放,以后再析构obj
您可能关注的文档
- 第十章 Juniper网络防火墙配置手册-全-说明书.docx
- 第十章 JVC EX-A10.pdf
- 第十章 JVC UX-G68 微型组合音响 使用说明书.pdf
- 第十章 JVM GC -调优总结.pdf
- 第十章 JVM百问百答-电子书.pdf
- 第十章 JVM内存管理.ppt
- 第十章 JVM调优总结.doc
- 第十章 JWD咨询公司项目管理局域网网站项目(项目启动、项目规划).ppt
- 第十章 JWK-62T技术手册.pdf
- 第十章 JX-300x(新).ppt
- 2026年江西省水务集团有限公司技术部副部长招聘备考题库及参考答案详解.docx
- 2026年散裂中子源科学中心招聘备考题库及答案详解参考.docx
- 2026年海南省铁路投资建设有限公司招聘备考题库及1套完整答案详解.docx
- 2026年泽库县王家乡卫生院公开招聘文秘岗位工作人员备考题库及1套完整答案详解.docx
- 2026年河南省科学院物理研究所钙钛矿-硅叠层电池项目工程师招聘备考题库带答案详解.docx
- 2026年鄂尔多斯市职业中等专业学校招聘备考题库及答案详解参考.docx
- 2026年江西铜业技术研究院有限公司北京科技分公司招聘备考题库及答案详解1套.docx
- 2026年海南省粮食和物资储备集团有限公司招聘备考题库及一套答案详解.docx
- 2026年榆林市第二幼儿园招聘备考题库含答案详解.docx
- 2026年新时代健康产业(集团)有限公司招聘备考题库及完整答案详解1套.docx
最近下载
- 2026人教版小学一年级上学期语文期末综合试卷精选3套(含答案解析)(1).docx
- 天鹅(选自圣-桑《动物狂欢节》,总谱) 高清钢琴谱五线谱 .pdf VIP
- 实用化工产品配方与制备(6).doc VIP
- 提高外窗塞缝防渗漏一次验收合格率(陈启威).docx VIP
- 生存分析中的Cox模型比例风险假设检验.docx VIP
- ISO 9001(DIS)-2026《质量管理体系——要求》之6:“领导作用-5.1.2以顾客为关注焦点”专业深度解读和应用指导材料(编写2025A0).docx VIP
- 提高外窗塞缝防渗漏一次验收合格率(陈启威).pdf VIP
- 六年级数学上册第9讲甜甜咸咸就是我思维突破苏教版202106071121.pdf VIP
- 台州市椒江区2023-2024学年六年级数学第一学期期末调研模拟试题含答案.doc VIP
- 有限空间作业专项施工方案.docx VIP
原创力文档


文档评论(0)