《C++语言基础教程》课程电子教案(PPT教学课件)第5章 类和对象(一)

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 第5章类和对象
第5章 类和对象(一)

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 51类的定义 1.类的定义格式 类的定义格式如下所示。 ∥说明部分 lass〈类名〉 public 〈成员说明 private: 〈成员说明
5.1 类的定义 1. 类的定义格式 类的定义格式如下所示。 //说明部分 class 〈类名〉 { public: 〈成员说明〉 private: 〈成员说明〉 }

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS ∥实现部分 类体内没有定义的成员函数在这部分进行定义。 其格式如下: 〈类型〉〈类名〉∷〈成员函数名〉(〈参数表〉) 〈函数体
//实现部分 类体内没有定义的成员函数在这部分进行定义。 其格式如下: 〈类型〉〈类名〉∷〈成员函数名〉(〈参数表〉) { 〈函数体〉 }

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 2.定义类时应注意的事项 (1)类体内应包含有数据成员和成员函数。通常成员函数定义 为公有成员,数据成员定义为私有成员 (2)类的成员的访问权限有3种:公有的( publie)、私有的 ( private)和保护的( protected (3)类中的私有成员类体外是不可访问的,体现了类的封装性 和隐藏性 (4)类中的成员函数定义在类体内为内联函数,定义在类体外 为外联函数。如果定义在类体外时前加关键字 inline则为内 联函数 (5)类体内的数据成员可以是各种不同类型的变量,也可以是 另一个类的对象,则称子对象
2. 定义类时应注意的事项 (1) 类体内应包含有数据成员和成员函数。通常成员函数定义 为公有成员,数据成员定义为私有成员 (2) 类的成员的访问权限有3种:公有的(publie)、私有的 (private)和保护的(protected) (3) 类中的私有成员类体外是不可访问的,体现了类的封装性 和隐藏性 (4) 类中的成员函数定义在类体内为内联函数,定义在类体外 为外联函数。如果定义在类体外时前加关键字inline则为内 联函数 (5) 类体内的数据成员可以是各种不同类型的变量,也可以是 另一个类的对象,则称子对象

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 52对象的定义 1.对象的定义格式 (1)一般对象的定义格式 〈类名〉〈对象名表〉; (2)指向对象的指针定义格式 〈类名〉*〈指针名〉 (3)对象引用的定义格式 〈类名〉&〈引用名〉=〈对象名〉;
5.2 对象的定义 1. 对象的定义格式 (1) 一般对象的定义格式 〈类名〉〈对象名表〉; (2) 指向对象的指针定义格式 〈类名〉*〈指针名〉; (3) 对象引用的定义格式 〈类名〉&〈引用名〉=〈对象名〉;

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 2.对象成员的表示方法 (1)一般对象成员表示方法 〈对象名〉.〈数据成员名〉 或〈对象名〉.〈成员函数名〉(〈参数表〉) (2)指向对象的指针成员表示方法 〈指针名〉→>〈数据成员名〉 或〈指针名〉->《成员函数名〉(〈参数表〉) (3)对象引用成员表示方法 (同对象) 参见[例51]、[例52]
2. 对象成员的表示方法 (1) 一般对象成员表示方法 〈对象名〉.〈数据成员名〉 或〈对象名〉.〈成员函数名〉(〈参数表〉) (2) 指向对象的指针成员表示方法 〈指针名〉->〈数据成员名〉 或〈指针名〉->〈成员函数名〉(〈参数表〉) (3) 对象引用成员表示方法 (同对象) 参见[例5.1]、[例5.2]

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 53对象的初始化 创建对象时,系统将自动调用相应的构造函数给对象初始化; 释放对象时,系统将自动调用析构函数释放该对象。 1.构造函数的功能和特点 (1)构造函数的功能是用来给所创建的对象进行初始化 2)构造函数的特点 ①构造函数的名字同类名。定义时无类型说明 ②构造函数是一个成员函数,可定义在类体内,也可定义在 类体外 ③构造函数可以有一个参数,也可有多个参数,还可以无参 数,并可以重载 ④构造函数被系统自动调用 ⑤当一个类中没有定义任何构造函数时,系统将自动创建 个默认构造函数
5.3 对象的初始化 创建对象时,系统将自动调用相应的构造函数给对象初始化; 释放对象时,系统将自动调用析构函数释放该对象。 1. 构造函数的功能和特点 (1) 构造函数的功能是用来给所创建的对象进行初始化 (2) 构造函数的特点 ① 构造函数的名字同类名。定义时无类型说明 ② 构造函数是一个成员函数,可定义在类体内,也可定义在 类体外 ③ 构造函数可以有一个参数,也可有多个参数,还可以无参 数,并可以重载 ④ 构造函数被系统自动调用 ⑤ 当一个类中没有定义任何构造函数时,系统将自动创建一 个默认构造函数

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 2.析构函数的功能和特点 (1)析构函数的功能 其功能是用来释放所创建的对象。当一个对象结束它的生存 期后,系统将自动调用析构函数来释放该对象。 (2)析构函数的特点 ①析构函数的名字同类名,并在类名前加一个字符“~”,以 与构造函数区别 ②析构函数无参数,因此无法重载 ③析构函数定义时无类型说明 ④析构函数是成员函数,它被系统自动调用 ⑤当一个系统没有定义析构函数时,系统将自动创建一个默 认的析构函数
2. 析构函数的功能和特点 (1) 析构函数的功能 其功能是用来释放所创建的对象。当一个对象结束它的生存 期后,系统将自动调用析构函数来释放该对象。 (2) 析构函数的特点 ① 析构函数的名字同类名,并在类名前加一个字符“~”,以 与构造函数区别 ② 析构函数无参数,因此无法重载 ③ 析构函数定义时无类型说明 ④ 析构函数是成员函数,它被系统自动调用 ⑤ 当一个系统没有定义析构函数时,系统将自动创建一个默 认的析构函数

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 3复制初始化构造函数 (1)复制初始化构造函数的功能 当使用一个已知对象来创建第一个与它相同的对象时,调用 复制初始化构造函数。 (2)复制初始化构造函数的特点 ①该函数名同类名,它也是一个成员函数 ②该函数不指定类型,只有一个参数,该参数为已知对象的 引用 ③该函数定义格式如下: 〈类名〉∴〈函数名〉( const〈类名〉&〈引用名〉) (函数体〉} ④当一个类中没有定义复制初始化构造函数时,系统将创建 个默认的初始化构造函数 参见[例5.3]、[例54]
3.复制初始化构造函数 (1)复制初始化构造函数的功能 当使用一个已知对象来创建第一个与它相同的对象时,调用 复制初始化构造函数。 (2)复制初始化构造函数的特点 ① 该函数名同类名,它也是一个成员函数 ② 该函数不指定类型,只有一个参数,该参数为已知对象的 引用 ③ 该函数定义格式如下: 〈类名〉∷〈函数名〉 (const〈类名〉&〈引用名〉) {〈函数体〉} ④ 当一个类中没有定义复制初始化构造函数时,系统将创建 一个默认的初始化构造函数 参见[例5.3]、[例5.4]

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 54成员函数的特征 1.内联性 定义在类体内的成员函数为内联函数,定义在类体外的成员 函数为外联函数。 2.重载性 成员函数可以重载。 3.设置参数默认值 成员函数可以设置参数的默认值。 参见[例56]、[例57]、[例58]
5.4 成员函数的特征 1. 内联性 定义在类体内的成员函数为内联函数,定义在类体外的成员 函数为外联函数。 2. 重载性 成员函数可以重载。 3. 设置参数默认值 成员函数可以设置参数的默认值。 参见[例5.6]、[例5.7]、[例5.8]
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C++语言基础教程》课程电子教案(PPT教学课件)第4章 函数和作用域.ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第3章 语句.ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第2章 数据类型和表达式.ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第1章 C++语言概述.ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第9章 C++的I/O流类库.ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第8章 多态性和虚函数.ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第7章 继承性和派生类.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第一章 绘图基础知识(刘军安).ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第五章 线型、颜色及图层.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第八章 标注文字.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第十章 使用块、外部参照和设计中心.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第十一章 绘制基本三维对象.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第三章 编辑图形对象.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第七章 控制图形显示.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第六章 绘制面域与图案填充.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第九章 标注图形尺寸.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第二章 绘制二维图形对象.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第四章 使用绘图辅助工具.ppt
- 华为技术有限公司:胶片制作图标库.ppt
- 《Visual Basic 6.0》课程PPT教学课件(讲稿)第8章 多媒体.ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第6章 类和对象(二).ppt
- 《软件工程》课程学习资料:软件工程思想(林锐).pdf
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Introduction(主讲:曹天杰).ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Block ciphers-AES.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Block ciphers-DES.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Block ciphers-L&D.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)CRYPTO12.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Digital Signature.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)HashFunctions.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Lecture 3 Number Theory Basics I.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)NTHEORY 2 Group Theory and Number.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Attacks, Services, and Mechanisms.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)overview.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Public Key Cryptography1.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Public Key Cryptography2.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)security protocols.ppt
- SPSS for Windows 在医学统计中的简单应用.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)前言.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第1章 操作系统概论.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第2章 Linux概述.ppt