程序设计第8章类和对象的应用.ppt

程序设计第8章类和对象的应用.ppt

ID:56531114

大小:233.50 KB

页数:41页

时间:2020-06-27

程序设计第8章类和对象的应用.ppt_第1页
程序设计第8章类和对象的应用.ppt_第2页
程序设计第8章类和对象的应用.ppt_第3页
程序设计第8章类和对象的应用.ppt_第4页
程序设计第8章类和对象的应用.ppt_第5页
资源描述:

《程序设计第8章类和对象的应用.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章类和对象的应用2008-2009-21C++程序设计本章内容提要类和指针类和数组常类型子对象和堆对象8.1类和指针指向类的成员的指针对象指针和对象引用作为函数的参数this指针1.指向类对象的指针指向类对象的指针变量一般格式为:<类名>*<对象指针名>classTime{public:inthour;intminute;intsec;voidget_time();};voidTime::get_time(){cout<

2、;//定义pt为指向Time类对象的指针变量Timet1;//定义t1为Time类对象pt=&t1;//将t1的起始地址赋给pt(*pt).hour或pt->hour(*pt).get_time()或pt->get_time2.指向类的成员的指针在C++中,类的成员有数据成员和成员函数。所以,可以定义:指向类的数据成员的指针指向类成员函数的指针。(1)指向数据成员的指针定义格式:<类型><类名>::*<指针名>[=<初值>];赋值方法:<指针名>=&<类名>::<数据成员名>;使用方法使用类的对象引用时:<对

3、象名>.*<指针名>使用对象指针引用时:<对象指针名>->*<指针名>(2)指向成员函数的指针定义格式:<类型>(<类名>::*<指针名>)(<参数表>);赋值方法:<指针名>=<类名>::<函数名>;使用方法使用类的对象引用时(<对象名>·*<指针名>)(<参数表>);使用类的对象指针引用时(<对象指针名>->*<指针名>)(<参数表>);例8.1问题:对象指针、指向数据成员的指针、指向成员函数的指针实例。#includeusingnamespacestd;classTime{publi

4、c:Time(int,int,int);voidget_time();inthour;intminute;intsec;};Time::Time(inth,intm,ints){hour=h;minute=m;sec=s;}voidTime::get_time(){cout<

5、1;//定义指向Time类对象的指针变量p,并赋值//定义指向Time类数据成员的指针p1,并赋值intTime::*p1=&Time::hour;void(Time::*p2)();//定义指向Time类成员函数的指针p2p2=Time::get_time;//使p2指向Time类成员函数get_timecout<hour<*p1<

6、函数get_time()p->get_time();//调用p所指向对象的get_time()函数(t1.*p2)();//利用指向成员函数的指针p2调用所指的成员函数return0;}程序的运行结果为:1010101010:13:5610:13:5610:13:563.this指针this指针是一种系统自动创建的指向当前对象的指针。当对一个对象调用成员函数时,编译程序先将对象的地址赋给this指针,然后调用成员函数,每次成员函数存取数据成员时,则隐含使用this指针。this指针通常被隐含使用,有时也被显式

7、使用。*this标识调用该成员函数的对象。例8.2问题:this指针的使用。#includeclassA{public:A(intx,inty);voidprint(){cout<<"a="<b<b=y;}voidmain(){Am(1,2),n(10,20);m.print();n.print();}该程序的运行结果为:a=1b=2a=10b=20动态区

8、静态区A类创建a1,a2实例的具体过程类实例化创建对象时,系统仅为类中的数据成员分配空间,而成员函数则共用,这时系统自动创建this指针,指向调用的对象。类Ainta,b;A(){a=b=0;};A(inti,intj){a=i;b=j;}voidcopy(A&a){…}voidprint(){cout<

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

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

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