《类和对象二》ppt课件

《类和对象二》ppt课件

ID:26955785

大小:368.32 KB

页数:32页

时间:2018-11-30

《类和对象二》ppt课件_第1页
《类和对象二》ppt课件_第2页
《类和对象二》ppt课件_第3页
《类和对象二》ppt课件_第4页
《类和对象二》ppt课件_第5页
资源描述:

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

1、第7章类和对象(二)7.1对象指针和对象引用7.2对象数组和对象指针数组7.3子对象和堆对象7.4类的作用域和对象的生存期7.5结构的应用7.1对象指针和对象引用1.指向对象的指针的定义、赋值及应用7.1.1对象指针指向对象的指针的定义格式如下:<类名>*<对象指针名>=<初值>对象指针也可以被赋值,赋值的方法通常有如下两种。①使用同类对象的地址值给对象指针赋值。②使用运算符new为对象指针赋值。指针对象成员的表示使用运算符−>。指向对象的指针主要用来作函数参数和返回值。见书中例7.1。(1)指向对象的常指针指向对象的常指针定义格式如下:

2、<类名>*const<指针名>;该指针的地址值是常量不得改变,而该指针所指向的对象可以改变。见书中例7.2,例7.3。2.指向对象的常指针和指向常对象的指针this指针是系统创建的,用它来指向正在被某个成员函数所操作的对象。在实际应用中this指针被隐含了。在需要时也可以显示出现this表示指向对象的指针。见书中例7.4。7.1.2this指针对象引用的定义格式如下:<类名>&<对象引用名>=<对象名>对象引用常用来作函数的形参。当函数形参为对象引用时,则要求实参为对象名,实现引用调用。见书中例7.5。7.1.3对象引用7.2 对象数组和

3、对象指针数组相同类的若干个对象的集合构成一个对象数组。对象数组的定义格式如下。<类名><对象数组名>[<大小>]…对象数组元素可以被赋值。见书中例7.6。7.2.1对象数组对象指针数组是指数组的元素是指向对象的指针,并要求所有数组元素都是指向相同类的对象的指针。其格式如下:<类名>*<对象指针数组名>[<大小>]…对象指针数组可以被初始化,也可以被赋值。见书中例7.7。7.2.2对象指针数组指向对象数组的指针可以指向一维对象数组,也可以指向二维对象数组。指向一维对象数组的一级指针定义格式如下:<类名>(*<指针名>)[<大小>]见书中例7

4、.8。7.2.3指向对象数组的指针7.3 子对象和堆对象7.3.1子对象在一个类中可以使用另一个类的对象作其数据成员,这种对象的数据成员称为子对象。子对象反映两个类之间的包含关系。子对象初始化应放在构造函数的成员初始化列表中。成员初始化列表放在构造函数的函数头的后面,用冒号进行分隔。具体格式如下:<构造函数名>(<参数表>):<成员初始化列表>{<函数体>}见书中例7.9。1.使用new运算符创建堆对象7.3.2堆对象①使用new运算符创建一个对象或其他类型变量的格式如下:new<类名>;或者<类型说明符>(<初值>);②使用new运算符

5、创建一个对象数组或其他类型数组的格式如下:new<类名>;或者<类型说明符>[<大小>];对象数组创建后可使用如下语句,判断创建是否成功:if(parray==NULL){cout<<"数组创建失败!/n";exit(1);}使用new所创建的数组,可以给其元素赋值。1.使用new运算符创建堆对象7.3.2堆对象①使用new运算符创建一个对象或其他类型变量的格式如下:new<类名>;或者<类型说明符>(<初值>);②使用new运算符创建一个对象数组或其他类型数组的格式如下:new<类名>;或者<类型说明符>[<大小>];对象数组创建后可使

6、用如下语句,判断创建是否成功:if(parray==NULL){cout<<"数组创建失败!/n";exit(1);}使用new所创建的数组,可以给其元素赋值。delete运算符的功能是用来释放使用new运算符创建的堆对象和堆对象数组的。①使用delete运算符释放对象或变量的格式如下:delete<指针名>;2.使用delete运算符释放对象②使用delete运算符释放对象数组或其他类型数组的格式如下:delete[]<指针名>;见书中例7.10。7.4类的作用域和对象的生存期7.4.1类的作用域类的作用域简称为类域。类域的范围是指该类

7、所定义的类体内。每个类都具有一个类域,该类成员属于该类的类域。类域介于函数域和文件域之间,文件域中可包含类域,类域中可包含函数域。在C++语言中,对象的存储类有如下3种:①局部对象;②全部对象;③静态对象(又分内部静态与外部静态)。7.4.2对象的生存期局部对象是被定义在一个函数体内或一个分程序中,其作用域是该函数体或该分程序内。1.局部对象全局对象是被定义在某个文件中,它的作用域是整个程序。2.全局对象静态对象按其作用域不同又分为内部静态对象和外部静态对象两种。内部静态对象的作用域是定义它的函数体或分程序内;外部静态对象的作用域是定义它

8、的文件,并从定义时开始。见书中例7.11。3.静态对象7.5结构的应用结构是一种构造数据类型,具有这种数据类型的变量称为结构变量。结构类型定义格式如下:struct<结构名>{<若干成员说明>

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

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

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