目标程序运行时的组织教材.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
结构(记录),抽象数据类型对象 类实例变量的存储结构(CIR) class parent { | class parent{ public int a,b,c; | public a,b,c; public void draw() {..}; | public virtual void draw() }; | ... class child:public parent{ | public d,e; | public void sift(){…}; | void draw(){…} }; 堆式动态存储分配 堆变量 堆空间的管理策略 减少碎片的技术 空间的释放 C++的堆变量 Int *Ptr; Ptr=new int(5); Int *ptr= new int [10] Delete ptr Delete[ ] ptr 堆变量是可以在程序运行时根据需要随时创建或删除的变量 C++的堆对象 #includeiostream.h Class Myclass{ Public: Myclass(); Myclass(int k,int j); void Set(int,int){m=k;n=j;} ?Myclass(); Private: int m,n; }; Myclass::Myclass(){ Set(0,0); CoutDefaultendl; } Myclass::Myclass(int k,int j) { Set(k,j); Cout“m=“mendl; } Myclass:: ?Myclass() { Cout“Destructor”endl; } 使用new和delete的示例 #includeiostream.h Int main() { Cout“one”endl; Myclass *ptr1=new Myclass; Delete ptr1; Cout“two”endl; Ptr1=new Myclass(5,10); Delete ptr1; Return 0; } one Defalt Destructor two m=5 Destructor 堆式动态存储分配 Const int ArraySize=24;// default size Class IntArray{ Public: //operations performed on arrays IntArray(int sz=ArraySize); IntArray(const IntArray); ~IntArray() {delete ia;} IntArray operator= (const IntArray); int operator[] (int); int getSize() {return size;} protected: //internal data representation int size; int * ia; }; ? IntArray()函数的实现,引入新的运算符new IntArray::IntArray (int sz) { size= sz; // allocate an integer array of size // and set ia to point to it ia= new int [size]; // initialize array for (int i=0;isz;++i) ia[i]=0; } C++语言中new操作符施加在一个类型标识符上(包括类名) Pascal语言中,标准过程new能够动态建立存储空间并相应地置上指针。标准过程dispose是释放空间. new与dispose不断改变着堆存储器的使用情况。 C语言中有这些操作的若干个版本,但最基本的是malloc和free,它们都是标准库(stdlib.h)的一部分 堆式动态存储分配 需求: 一个程序语言允许用户自由地申请数据空间和退还数据空间,或者不仅有过程而且有进程(process)的程序结构, 操作: 堆提供两个操作,分配操作和释放操作 情况

文档评论(0)

capt + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档