类和动态内存分配ppt课件.ppt

类和动态内存分配ppt课件.ppt

ID:58869333

大小:101.50 KB

页数:61页

时间:2020-09-30

类和动态内存分配ppt课件.ppt_第1页
类和动态内存分配ppt课件.ppt_第2页
类和动态内存分配ppt课件.ppt_第3页
类和动态内存分配ppt课件.ppt_第4页
类和动态内存分配ppt课件.ppt_第5页
资源描述:

《类和动态内存分配ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章类和动态内存分配提要本章介绍对类使用动态分配技术,以及由此引起的问题的处理。动态内存的使用将影响构造函数,析构函数的设计和操作符的重载7.1动态内存和类一个使用动态内存的例子classStringBad{private:char*str;//pointertostringintlen;//lengthofstringstaticintnum_strings;//numberofobjectspublic:StringBad(constchar*s);//constructorStringBad();//defaultconstructor~Strin

2、gBad();//destructor//friendfunctionfriendstd::ostream&operator<<(std::ostream&os,constStringBad&st);};以下是其实现(stringbad.cpp)静态类成员的初始化intStringBad::num_strings=0;///注意:静态类成员位于静态存储区,并不是类对象的组成部分;在类声明中声明,不可初始化(静态const整型或枚举除外除外);在类方法实现文件中初始化。使用类型名和定义域限制操作符,不用关键字static。然后是构造函数StringBad::

3、StringBad(constchar*s){len=std::strlen(s);//setsizestr=newchar[len+1];//allotstoragestd::strcpy(str,s);//initializepointernum_strings++;//setobjectcountcout<

4、ringBad()//necessarydestructor{cout<<"""<

5、Stringpassedbyreference:";cout<<"""<

6、ine2:LettucePreysports:SpinachLeavesBowlforDollarsStringpassedbyreference:"CeleryStalksatMidnight"headline1:CeleryStalksatMidnightStringpassedbyvalue:"LettucePrey""LettucePrey"objectdeleted,2leftheadline2:葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺Initializeoneobjecttoanother:sailor:SpinachLeavesBowlforDoll

7、arsAssignoneobjecttoanother:3:"C++"defaultobjectcreatedknot:CeleryStalksatMidnightEndofmain()"CeleryStalksatMidnight"objectdeleted,2left"SpinachLeavesBowlforDollars"objectdeleted,1left"葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺?objectdeleted,0left未处理的异常:System.NullReferenceException:未将对象引用设置到对象的实例。atde

8、lete[](Void*)atStringBad.__dtor(S

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。