1 / 42
文档名称:

类与对象课件.pptx

格式:pptx   大小:808KB   页数:42页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

类与对象课件.pptx

上传人:gxngqvk 2022/7/31 文件大小:808 KB

下载得到文件列表

类与对象课件.pptx

相关文档

文档介绍

文档介绍:C++程序设计
新世纪应用型高等教育教材编审委员会 组编
主编 罗烨 李秉璋
第二版
新世纪应用型高等教育软件专业系列规划教材
第1页,共42页。
于一个笼子,它给派生类提供一些特殊的访问控制。
类成员的访问控制
第12页,共42页。
类与对象概述
13
建立对象的方法类似于定义变量。语法格式为:
对象的创建与使用
定义了对象后,对对象成员的访问采用如下形式:
第13页,共42页。
类与对象概述
14
建立同类对象后,每个对象中的数据成员都占用独立的存储空间,保存着各自的数据。而对于同类对象,它们的成员函数都是相同的代码,没有必要为每个同类对象的成员函数分配独立的存储空间,只需为类的成员函数分配一份存储空间,存放代码。而这份代码被这个类的所有对象共用。
对象的存储方式
第14页,共42页。
类与对象概述
15

也可以使用对象指针访问对象。对象指针遵循一般指针的规则。例如:
CGoods car, *pcar ; //pcar为CGoods类的指针
pcar=&car ; //pcar指向了car
前面已经介绍过,使用“”就可以访问对象成员。有了指向对象的指针,可以通过该指针经成员访问运算符“->”访问对象成员。
对象指针和成员指针
第15页,共42页。
类与对象概述
16

也可以通过指针访问对象成员。指向对象成员的指针使用前要先定义,再赋值,最后引用。定义对象成员指针的语法格式为:
定义了指向成员的指针之后,需要对其赋值,也就是要确定指针指向类中哪一个成员。
对成员指针赋值的语法形式为:
对象指针和成员指针
第16页,共42页。
构造函数和析构函数
17

类的构造函数的作用是在对象建立后,对对象的非静态数据成员初始化。构造函数的定义形式如下:
构造函数的定义与调用
第17页,共42页。
构造函数和析构函数
18

如前述,构造函数的作用是完成对象初始化。因此在新建对象获得内存空间后,该对象就要调用构造函数,对数据成员进行初始化。这一过程是自动进行的。当类中有多个构造函数时,系统根据对象提供的参数决定调用哪个构造函数。我们以三参数构造函数
构造函数的定义与调用
第18页,共42页。
构造函数和析构函数
19

对于类的构造函数,还有如下形式:
成员初始化表的作用是向类传递初始化时的参数,并初始化数据成员。成员初始化表的具体格式是:
构造函数的定义与调用
第19页,共42页。
构造函数和析构函数
20
类的析构函数的作用是在对象生存期结束时进行必要的处理工作。析构函数定义形式如下:
析构函数也是类的特殊的成员函数,具有以下特征:
(1)析构函数名由“~”符号和类名构成。
(2)当一个对象的生存期结束时,对象会自动调用析构函数,完成对象生存期结束时必要的处理,例如释放由构造函数申请的内存等。
(3)如果类定义中没有显式定义析构函数,编译器也会为类建立一个不具有任何功能的默认的析构函数,其形式为:
(4)在一个作用域中存在多个对象时,各对象遵循“先构造、后析构;后构造、先析构”的析构次序。
析构函数的定义与调用
第20页,共42页。
复制构造函数
21
引用是另一个变量的别名。通过引用名和被引用的变量名访问变量的效果是一样的。定义引用的语法格式为:
对于引用,还需要注意以下两点:
(1)一个引用,只能引用变量,不能引用常量或表达式。即只能引用有地址的对象。
(2)引用与被引用之间,不能像普通类型的变量一样,可以进行类型转换。
引用及函数的引用调用
第21页,共42页。
复制构造函数
22

由于复制构造函数也属于构造函数,所以其函数名仍然是类名。参数只有一个,类型是同类引用。复制构造函数定义格式如下:

和构造函数、析构函数一样,复制构造函数也是由对象自动调用的。当出现以下三种情况时,需要获取数据的对象要调用复制构造函数完成自身初始化。
复制构造函数的定义与调用
第22页,共42页。
复制构造函数
23

C++系统为类提供了默认的赋值运算,使得同类对象可以像普通变量一