欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第二讲复杂的对象.ppt

    • 资源ID:85531042       资源大小:360.50KB        全文页数:24页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第二讲复杂的对象.ppt

    OOPC+第二讲第二讲复杂的对象复杂的对象1OOPC+本讲主要内容本讲主要内容l类和对象类和对象l对象数组和对象指针对象数组和对象指针lthis指针指针2OOPC+1.类和对象类和对象l在面向对象程序设计中,对象的类型称为类(在面向对象程序设计中,对象的类型称为类(class)。)。l类代表了某一批对象的共性和特征。类代表了某一批对象的共性和特征。l类是对象的抽象。类是对象的抽象。l而对象是类的具体实例(而对象是类的具体实例(instance)。)。vclassprivate:protected:public:;v对象的定义对象的定义类类型类类型对象对象1,对象,对象2,3OOPC+类设计类设计?例题例题1定义一个类,实现输入定义一个类,实现输入10个整数,并能够反序输出。个整数,并能够反序输出。classmyclaprivate:intarr10;public:voidinput()for(inti=0;iarri;voidpr()for(inti=9;i=0;i-)coutarrixy;voidcopy(cla*p)x=p-x;y=p-y;voidpr()coutxyendl;参参考考答答案案10OOPC+写出以下程序段的输出结果写出以下程序段的输出结果#include#includeclasspersonprivate:intno;charname20;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);coutgetno():(*p).getname()print();成员函数成员函数print()是怎样分清给哪个对象执行的呢?是怎样分清给哪个对象执行的呢?16OOPC+thislC+为成员函数提供一个称为为成员函数提供一个称为this的指针,的指针,this在所有成员函在所有成员函数调用里作为一个隐含参数传送给成员函数,所以,我们常数调用里作为一个隐含参数传送给成员函数,所以,我们常称成员函数拥有称成员函数拥有this指针。指针。l当一个对象调用类的成员函数时,当一个对象调用类的成员函数时,this指针就指向该对象,指针就指向该对象,this是一个隐含的指针,它不能被显式说明;是一个隐含的指针,它不能被显式说明;this是个局部变是个局部变量,局限于某一个对象。量,局限于某一个对象。lthis指针通常不显式使用,需要时可以用(指针通常不显式使用,需要时可以用(*this)来表示给)来表示给成员对象。成员对象。lthis指针主要在运算符重载、自引用等场合。指针主要在运算符重载、自引用等场合。l当一个对象调用类的成员函数时,系统先将该对象的地址赋当一个对象调用类的成员函数时,系统先将该对象的地址赋给给this指针,然后调用成员函数。指针,然后调用成员函数。17OOPC+lthis指针只能在一个类的成员函数中调用,它表示当前对象的指针只能在一个类的成员函数中调用,它表示当前对象的地址。下面是一个例子:地址。下面是一个例子:voidDate:setMonth(intmn)month=mn;/这三句是等价的这三句是等价的this-month=mn;(*this).month=mn;18OOPC+l例如:类例如:类cla中有一个成员函数中有一个成员函数intcla:fun()()returnx*y;lC+把它处理为把它处理为intcla:fun(cla*this)returnthis-x*this-y;l当对象当对象obj调用该成员函数时,实际上是用下面的方式调用的调用该成员函数时,实际上是用下面的方式调用的obj.fun(&obj);将对象将对象obj的地址传给形的地址传给形this指针,然后按指针,然后按this的指向去引用的指向去引用成员函数的。成员函数的。注意:注意:this指针通常不显式定义!下面的语句不能出现在指针通常不显式定义!下面的语句不能出现在程序中,这里是为了便于理解。程序中,这里是为了便于理解。intcla:fun(cla*this)obj.fun(&obj);19OOPC+this指针练习指针练习(j205.cpp)l看程序,写结果。看程序,写结果。#includeclassaaprivate:inta,b;public:voidsetaa()a=0;b=0;voidsetaa1(intx,inty)a=x;b=y;intreturna()returna;intreturnb()returnb;voidmain()aaa1,a2;a1.setaa();a2.setaa1(3,4);a1.copy(a2);couta1.returna()-a2.returna()endl;couta1.returnb()+a2.returnb()endl;voidcopy(aa&z);voidaa:copy(aa&z)if(this=&z)return;*this=z;0 820OOPC+j206.cpp?例题例题5利用利用this指针,判断两个对象是否指针同一内存空间。指针,判断两个对象是否指针同一内存空间。class clapublic:int fun1(cla&obj)if(this=&obj)return 1;elsereturn 0;21OOPC+练习练习l1.1.关于关于thisthis指针的说法正确的是(指针的说法正确的是()。(A)(A)thisthis指针指针必须显示的说明必须显示的说明 (B)(B)定义一个类后,定义一个类后,thisthis指针就指向该类指针就指向该类 (C)(C)成员函数拥有成员函数拥有thisthis指针指针 (D)this(D)this指针属于对象的指针属于对象的u答案:答案:Cl2.this2.this指针能出现在(指针能出现在()地方。)地方。(A A)成员函数内部成员函数内部 (B B)成员函数形式参数成员函数形式参数 (C C)成员函数实际参数成员函数实际参数 (D D)普通函数参数普通函数参数u答案:答案:A22OOPC+对象的练习对象的练习l编程实现点的坐标,能够移动坐标点的位置,并将二维点坐编程实现点的坐标,能够移动坐标点的位置,并将二维点坐标的定义放在标的定义放在Tpoint.h中。(中。(Tpoint.h与与j207.cpp)23OOPC+本讲小结本讲小结l对象的数组和指针对象的数组和指针lthis 指针指针&作业:作业:1.设计一个学生类,设计方法实现对象之间的拷贝。设计一个学生类,设计方法实现对象之间的拷贝。2.用对象数组的指针,实现对象的输出功能。用对象数组的指针,实现对象的输出功能。24

    注意事项

    本文(第二讲复杂的对象.ppt)为本站会员(hwp****526)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开