第二讲复杂的对象.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

OOPC++*第1页,共24页,星期日,2025年,2月5日本讲主要内容类和对象对象数组和对象指针this指针第2页,共24页,星期日,2025年,2月5日1.类和对象在面向对象程序设计中,对象的类型称为类(class)。类代表了某一批对象的共性和特征。类是对象的抽象。而对象是类的具体实例(instance)。class自定义类类型名

{

[private:]

[私有成员]

[protected:]

[私有成员]

[public:]

[公有成员]

};对象的定义

类类型对象1,对象2,…第3页,共24页,星期日,2025年,2月5日类设计例题1定义一个类,实现输入10个整数,并能够反序输出。classmycla{private: intarr[10];public: voidinput() { for(inti=0;i10;i++)cinarr[i]; } voidpr() { for(inti=9;i=0;i--)coutarr[i]; }};参考答案第4页,共24页,星期日,2025年,2月5日类设计例题2定义一个复数类complex,实现复数加、减和乘的功能。classcomplex{private:doubler;doublei;public:voidincom();complexaddcom(complexc2);complexsubcom(complexc2);complexmulcom(complexc2)voidoutcom();};参考答案第5页,共24页,星期日,2025年,2月5日练习1.在C++语言中,数据封装要解决的问题是

A)数据的规范化

B)便于数据转换

C)避免数据丢失

D)防止不同模块之间数据的非法访问

答案:D2.一个函数功能不太复杂但要求被频繁调用,应选用

A.内联函数

B.重载函数

C.递归函数

D.嵌套函数答案:A第6页,共24页,星期日,2025年,2月5日2.对象数组和对象指针数组不仅可以由简单的变量组成,也可以由对象组成。对象数组的使用方法有普通的对象方法相同。定义一般形式类名对象名[参数];第7页,共24页,星期日,2025年,2月5日对象指针指向对象的指针简称对象指针对象空间的起始地址就是对象的指针定义一般形式类名*对象指针名;对象动态的建立与释放对象动态的建立类*ptpt=new类动态的释放deletept;第8页,共24页,星期日,2025年,2月5日程序中常常用对象指针作为函数的参数好处:实现传地址调用,可以在被调用函数中改变调用函数的参数对象值,实现函数之间的信息传递;使用对象指针作为参数仅传递实参的地址给形参,而不进行副本的拷贝,这样可以减少开销,提高运行效率。第9页,共24页,星期日,2025年,2月5日对象指针例题3设计一个类,具有x,y私有数据成员,设计方法实现对象之间的拷贝。classcla{private: intx;inty;public:voidincome(){ cinxy;}voidcopy(cla*p){ x=p-x;y=p-y;}voidpr(){ coutxyendl;}};参考答案第10页,共24页,星期日,2025年,2月5日写出以下程序段的输出结果#includeiostream.h#includestring.hclassperson{ private: intno; charname[20]; public: voidsetvalue(intno,charname[]) { this-no=no; strcpy(this-name,name); } intgetno(){returnno;} char*getname(){returnname;}};voidmain() {person*p; p=newperson; p-setvalue(1,zhang); coutp-g

文档评论(0)

xiaozhuo2022 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档