远程教育C++程序设计_导学讲义3

合集下载

远程教育C++程序设计_开篇导学讲义

远程教育C++程序设计_开篇导学讲义

《C++程序设计》开篇导学一、课程的性质和任务“C++程序设计”课程是计算机专业必修的专业课。

C++是目前工程项目主要编程语言,课程主要目标包括:培养良好的程序设计风格;掌握结构化、面向对象以及工程化的方法编写程序的能力;初步具备解决实际问题的能力。

通过本课程的学习和示例的分析,使学生掌握C++语言的基本结构、各种数据类型和控制流程的语法及语义;文件的使用(特别对最能体现语言特点的部分,如各种运算符、数组与指针操作、函数参数中的传递、动态存储分配等);了解结构化和面向对象程序设计思想并接受程序设计方法、技巧、风格的训练;掌握C++ 的语法和OOP的基本概念;具备编写与调试面向对象程序的能力,为后续课程设计与实践或毕业设计运用程序设计技术打下扎实的基础。

二、学习方法本课程的的特点是:与实际操作结合紧密、涉及的概念多。

单纯的记忆远远无法达到课程的教学目标。

因此,学生要在学习教材与课件的基础上,多做实际的练习以加深对基本概念的理解。

在学习的过程中,应该注意以下方面:1.参照教师提供的教学实施计划,合理安排时间,完成课程内容的学习、并多做练习以加深对概念的理解。

每一期的学习任务一定要按时完成,并通过给定作业检验自己的学习效果。

2.认真学习课件和教材。

对课件和教材中的具体操作过程一定要上机实际操作,加深对概念的理解。

对学习中的重点和难点,一定要写入文档中(课程笔记),以便定期复习。

3.按时完成作业,一方面可以检验自己的学习效果,另一方面也可以对考试的关键点有所了解,提高应试能力。

同时,以后的学习中,容易掌握学习的重点与关键点,可以有针对性的学习。

课程中设计的作业题,学生必须要自己独立完成。

三、重点、难点的把握首先根据课程实施方案,初步了解课程的基本要求,特别是重点和难点。

同时,要明确教材和课件之间的关系。

具体参考以下几点:1.学生应根据应根据课程实施方案给出的具体要求,结合教材与课件,在了解基本概念的基础上。

远程教育C++程序设计_导学讲义4

远程教育C++程序设计_导学讲义4

《C++程序设计》第4阶段导学(对应教材第10章、第11章、第12章、第13章内容)第10章泛型程序设计与C++标准模板库1、教学的目的和要求:了解C++标准模板库的结构及主要组件的使用方法;掌握容器、迭代器、算法和函数对象的基本应用。

2、教学内容:1)泛型程序设计✧泛型程序设计就是将程序写得尽可能通用,同时并不损失效率。

✧泛型程序设计有着与面向对象方法不同的技术,二者巧妙结合可以更有效的解决问题。

✧为了解决多个模块间的命名冲突,提出了命名空间。

一个命名空间将不同的标识符集合在一个命名作用域内。

在C++标准程序库中,使用了命名空间std。

✧容器的接口指容器的方法(函数)和运算符。

2)C++标准模板中的容器✧容器是容纳、包含一组元素或元素集合的对象。

有7种基本容器:向量(vector)、双端队列(deque)、列表(list)、集合(set)、多重集合(multiset)、映射(map)、多重映射(multimap)。

适配器是一种接口类,为已有的类提供新的接口,可以使用容器适配器用来扩展基本容器。

3)迭代器✧迭代器是面向对象版本的指针,提供了访问容器和序列中每个元素的方法。

✧主要包括5种基本迭代器类别:输入、输出、前向、双向和随机访问。

2种迭代适配器:逆向迭代适配器和插入迭代适配器。

✧C++标准程序库为迭代器提供3个辅助函数:advance( )、distance( )、iter_swap( )。

4)标准C++库中的算法是C++标准模板库的另一个核心内容,每个算法都适合于若干种不同的数据结构。

能在自己的程序中应用这些算法,是非常重要的。

5)函数对象第11章流类库与输入/输出1、教学的目的和要求:掌握C++中的流类库;能应用流类库进行二进制、文本和格式输入/输出、文件输入/输出;能自已定义插入和析取运算符。

2、教学内容:1)C++语言中没有输入/输出语句,但C++编译系统带有一个面向对象的输入/输出软件包,即I/O流类库。

《C语言程序设计》授课教案

《C语言程序设计》授课教案

《C语言程序设计》授课教案《C语言程序设计》授课教案课程类型:本科计算机专业必修课程教学目标:1、培养学生掌握C语言的基本语法和编程思想,提高程序设计能力。

2、帮助学生建立程序设计的思维方式,能够独立分析、解决问题,并编写出高质量的C程序。

3、增强学生的团队协作能力,培养良好的编程习惯和风格。

教学内容:1、C语言基础语法:包括数据类型、运算符、控制结构、函数等。

2、指针操作:理解指针的概念及使用方法,掌握指针的高级应用。

3、数组和字符串:理解数组的基本概念和操作方法,掌握字符串的处理技巧。

4、结构体和共同体:理解结构体和共同体的概念及使用方法。

5、文件操作:理解文件的基本概念和操作方法,掌握文件的高级应用。

6、面向对象编程:理解面向对象的基本概念,掌握C++面向对象编程的基本语法和操作方法。

教学方法:1、理论教学:通过讲解、演示等方式,使学生掌握C语言的基本语法和编程思想。

2、上机实践:通过上机实验,使学生能够熟练地使用C语言进行编程,并加深对理论知识的理解。

3、项目实践:通过小组形式完成实际项目,提高学生的团队协作能力和实践操作能力。

教学策略:1、突出重点:针对重要的知识点,进行深入讲解和反复强调,确保学生掌握核心内容。

2、结合实例:将理论知识与实际应用相结合,通过实例演示,帮助学生更好地理解和掌握课程内容。

3、启发式教学:引导学生主动思考、发现和解决问题,培养学生的自主学习能力和创新能力。

教学评价:1、课堂测验:通过课堂测验,检查学生对课程内容的掌握情况,及时发现和解决问题。

2、上机实践:通过上机实验,评价学生的编程能力和实践能力,发现学生的优势和不足之处。

3、项目实践:通过小组形式完成实际项目,评价学生的团队协作能力和实践操作能力,鼓励学生进行创新和尝试。

教学难点及解决方法:1、指针操作:指针是C语言中的重要概念,也是比较难掌握的内容。

可以通过演示、示例等方式,帮助学生理解指针的概念和使用方法。

远程教育C++程序设计_导学讲义2

远程教育C++程序设计_导学讲义2

《C++程序设计》第2阶段导学(对应教材第4章、第5章、第6章内容)第4章类与对象(重点掌握)1、教学的目的和要求:理解面向对象的思想及特点;理解类概念并掌握类的声明和定义;掌握对象的定义;理解构造函数及析构函数的作用并能熟练运用;掌握类的组合和使用;能正确使用内联成员函数;了解UML建模语言。

2、教学内容:1)面向对象程序设计的主要特点是抽象、封装、继承和多态✧抽象是指对对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程,包括数据抽象和行为抽象。

✧封装是将抽象得到的数据与操作数据的函数结合,形成有机整体——类。

数据和函数都是类的成员,封装使一部分成员充当类与外部的接口,而将其他成员隐藏起来,达到了对成员访问权限的合理控制。

✧类的继承机制可以在保持原有类特性的基础上,进行更具体、更详细的说明。

✧多态指一段程序能处理多种类型对象的能力,包括强制多态、重载多态、类型参数化多态、包含多态。

2)面向对象设计方法的核心概念——类✧面向对象程序设计中,程序模块是由类构成的。

类是对逻辑上相关的函数与数据的封装,是对问题的抽象描述。

类包括数据成员及函数成员,对成员访问权限控制是通过公有类型(public)、私有类型(private)和保护类型(protected)实现的。

✧公有成员用public关键字声明,定义了类的外部接口(类外只能访问类的共有成员);私有成员用private关键字声明,只能被本类的成员函数访问;保护类型成员用protected关键字声明,其性质与私有成员类似,差别在于在继承过程中对产生的新类影响不同。

✧成员函数的原型声明(函数的参数表和返回值类型)要写在类体中,函数的具体实现写在类之外。

✧内联函数的声明有两种方式:隐式声明(函数体直接放在类体内)和显式声明(关键字inline)。

内联函数要权衡利弊、慎重选择。

✧类是描述了一类问题的共同属性和行为的抽象机制,对象是该类的某一特定实例。

C语言教程第3章简单的C程序设计PPT课件

C语言教程第3章简单的C程序设计PPT课件

10
C语言大学实用教程
3.4 基本输入/输出操作的实现
附 # include <stdio.h>
例 main()
{ char a='B',b='o',c='k';
putchar(a);putchar(b);putchar(b);
putchar( c);putchar('\t');
putchar(a);putchar(b); 运行结果:
C语言大学实用教程
第3章 简单的C程序设计
23.11.2020
1
C语言大学实用教程
第3章 简单的C程序设计
本章主要教学内容 C语句分类 字符输入/输出函数 格式输入/输出函数
23.11.2020
2
C语言大学实用教程
3.1 C语句分类
变量声明语句
int x, y;
表达式语句
i++;
i = i + 1;
printf("Press a key and then press Enter:");
ch = getchar(); printf("You pressed "); putchar(ch); putchar('\n'); }
Press a key and then press Enter: A↙
You23.1p1r.2e0s20sed A
4
C语言大学实用教程
3.3 复合语句和空语句的作用
在什么情况下使用复合语句?
条件语句和循环语句在语法上只允许带一条 语句 当分支和循环中需要进行多项操作时
{

C语言程序设计教程教学课件完整版电子教案

C语言程序设计教程教学课件完整版电子教案

课程重点内容回顾
C语言基础语法
包括数据类型Βιβλιοθήκη 变量、 运算符、表达式、控 制结构等。
函数与模块化设计
函数的定义、调用、 参数传递、局部变量 与全局变量等。
数组与字符串
一维数组、二维数组、 字符数组、字符串处 理函数等。
指针与内存管理
指针的概念、指针变 量的定义与使用、内 存分配与释放等。
文件操作
文件的打开、关闭、 读写操作、文件定位 等。
do-while循环
详细讲解do-while循环的使用,包 括其语法、执行流程和与while循环 的区别。
for循环
阐述for循环的基本语法和使用方法, 包括循环变量、循环条件和循环体。
循环的嵌套
介绍循环嵌套的概念,通过实例演示 其实现方法。
数组与字符串处理
一维数组
详细讲解一维数组的定义、初始 化和使用方法,包括数组元素的
指针运算
指针与数组关系
指针支持加法、减法、比较等运算,可用于 遍历数组、字符串等操作。
数组名可视为指向数组首元素的指针,通过 指针可访问和修改数组元素。
动态内存分配与释放
动态内存分配函数 C语言提供malloc、calloc等函数用于 动态分配内存,可在运行时根据需要申
请指定大小的内存空间。 内存释放函数
C语言的应用领域
学习C语言的意义
说明学习C语言对于理解计算机底层 原理、提高编程能力、拓展职业发展 空间等方面的重要性。
阐述C语言在系统软件、应用软件、 嵌入式系统、游戏开发等领域的应用。
教学目标与要求
01
02
03
知识目标
掌握C语言的基本语法、 数据类型、运算符、控制 结构等基础知识。

c程序设计3 ppt课件

c程序设计3 ppt课件

2020/8/4
北京航空航天1大1 学
课程名称:C 语言程序设计
③ 格式符 o、x、u
%o — 按八进制形式输出整数(无符号)
%x — 按十六进制形式输出整数(无符号)
%u — 按无符号整数形式输出整数
④ 格式符 e、g
%e — 按指数形式输出实数
%g — 自动选择 e 和 f 格式中字段宽度较小的一种格式输 出实数, 且不输出无效0.
printf(“i=%3d\nj=%3d\nk=%3d\n",i,j,k); (3) float x=8123.456789;
double y=8123.456789; printf("%f\n%f\n",x,y); (4) float x=123.4, y=123.456; printf("%10.2f\n%10.2f\n",x,y);
⑴ l — 用于输出long 型数据,可与格式符 d, o, x, u 组合,如%ld, %lx ⑵ 整数— 最小字段宽度。可与所有格式符组合。
整数 ≥数据长度,按整数指定的列数输出。 整数 ≤数据长度,按实际长度输出。 ⑶ -(负号)— 在字段宽度内左对齐。(缺省为右对齐) ⑷ 整数1.整数2 — 可于 f、e、s 组合,指定实数和字符串的格式。
如 %7.2f, %-10.5s 其中:整数1 — 最小字段宽度
整数2 — 对于实数,表示小数位数。 对于字符串,表示从字符串的左端截取若干个字符 输出,截取字符的个数由整数2指定。
2020/8/4
北京航空航天1大0 学
课程名称:C 语言程序设计
判断输出: (1) int a=68;
printf("%d,%d ,%c\n",a,'a',a); (2) int i=31,j=4,k=7891;

远程教育C++程序设计_导学讲义1

远程教育C++程序设计_导学讲义1

《C++程序设计》第1阶段导学(对应教材第1章、第2章、第3章内容)第1章绪论1、教学的目的和要求:了解算法、语言和程序的关系;理解面向过程和面向对象的差异;掌握面向对象的基本概念及软件开发过程;掌握程序开发过程;掌握信息的表示与存储方法。

2、教学内容:1)计算机程序设计语言的发展✧C++是高级语言,具有面向对象的特点。

2)面向对象的方法✧对象是系统中描述客观事物的实体,由一组属性和行为组成。

✧类是具有相同属性和服务的一组对象的集合。

✧封装是指将对象的属性和服务结合成独立的系统单位,屏蔽对象的内部细节。

✧特殊类的对象拥有其一般类的全部属性与方法,称作特殊类对一般类的继承。

✧多态性是指特殊类继承一般类的属性或行为后,可以具有不同的数据类型或不同行为。

3)面向对象的软件开发✧包括面向对象的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)、面向对象的测试(OOT)和面向对象的软件维护(OOSM)等。

4)信息的表示与存储✧掌握进位计数值的概念及二进制、八进制、十六进制的表示方法。

✧掌握十进制与其它进制的转换方法。

✧掌握二进制与八进制或十六进制的转换方法。

✧掌握原码、反码、补码的表示方法及范围。

✧掌握定点数及浮点数的表示方法5)掌握程序的开发过程第2章C++简单程序设计(重点掌握)1、教学的目的和要求:了解C++语言;掌握C++基本数据类型和表达式;掌握数据的输入与输出;掌握算法的基本控制结构;理解自定义数据类型及使用方法。

2、教学内容:本章涉及的概念很多,而且非常重要,一定要认真学习。

1)基本数据类型✧C++基本数据类型(bool、char、int、float、double)及各类数值范围一定要掌握。

✧掌握常量(整型常量、实型常量、字符常量、字符串常量、布尔常量)、变量、符号常量、变量、符号常量。

2)运算符与表达式✧算术运算符与算术表达式;赋值运算符与赋值表达式;逗号运算符与逗号表达式;逻辑运算符与逻辑表达式;条件运算符与条件表达式;sizeof 操作符;位运算(会使用位运算符进行各种计算或移位)。

《C语言程序设计教程》全册教案完整版教学设计

《C语言程序设计教程》全册教案完整版教学设计

《C语言程序设计教程》第一章教案一、教学目标1. 让学生了解C语言的发展历程和特点。

2. 掌握C语言的基本语法和结构。

3. 学会使用C语言编写简单的程序。

二、教学内容1. C语言的发展历程和特点2. C语言的基本语法和结构3. C语言程序的基本框架4. 简单的C语言程序示例三、教学方法采用讲授法、示例法、练习法相结合的方式进行教学。

四、教学步骤1. 引入话题:介绍C语言的发展历程和特点。

2. 讲解C语言的基本语法和结构,包括数据类型、变量、常量、运算符、表达式等。

3. 讲解C语言程序的基本框架,包括主函数、变量定义、函数体等。

4. 通过示例程序,让学生了解和掌握C语言编程的基本方法。

5. 布置练习题,让学生课后巩固所学知识。

五、教学评价通过课堂提问、练习题、课后作业等方式对学生的学习情况进行评价。

《C语言程序设计教程》第二章教案一、教学目标1. 让学生掌握C语言的运算符和表达式。

2. 学会使用C语言进行基本的输入输出操作。

3. 了解C语言的控制语句,包括条件语句和循环语句。

二、教学内容1. C语言的运算符和表达式2. C语言的输入输出操作3. C语言的控制语句三、教学方法采用讲授法、示例法、练习法相结合的方式进行教学。

四、教学步骤1. 复习C语言的基本语法,引入运算符和表达式的概念。

2. 讲解各种运算符的用法和优先级,通过示例让学生掌握运算符和表达式的使用。

3. 讲解C语言的输入输出操作,包括printf函数和scanf函数的使用。

4. 讲解C语言的控制语句,包括if语句、switch语句、for循环、while循环等。

5. 通过示例程序,让学生掌握控制语句的使用方法。

6. 布置练习题,让学生课后巩固所学知识。

五、教学评价通过课堂提问、练习题、课后作业等方式对学生的学习情况进行评价。

《C语言程序设计教程》第三章教案一、教学目标1. 让学生掌握C语言的函数概念和作用。

2. 学会自定义函数,并了解函数的调用方式。

C语言程序设计(第三版)电子教案-第3章_简单程序设计

C语言程序设计(第三版)电子教案-第3章_简单程序设计
3.2.2 顺序结构
程序运行时按语句书写的次序依次执行 最简单、最基本的结构
【例3-3】分析下面程序结构。 #include <stdio.h> void main() {
int a,b,c; scanf("%d,%d",&a,&b); c=a+b; printf("c=%d\n",c); }
在构造以上赋值语句之前,变量必须已经初始化或 赋值。下面的程序是错误的:
int a; a+=10; 因为a+=10相当于a=a+10,而右边表达式中的a是刚刚
定义的,还没有具体的值。
3.4 数据输入与输出
C语言本身不提供输入输出语句,其数据的输 入和输出功能是由函数来实现的
#include<stdio.h>
21世纪高等学校精品规划教材
第3章 简单程序设计
掌握C语言中的语句类型、程序结构 掌握赋值语句和基本输入/输出函数的使用
学会用正确的格式进行简单的输入输出程序设 计
3.1 C语言语句
表达式语句
表达式; 例如:
x=100 /*表达式*/ x=100; /*语句*/
函数调用语句
【例3-4】分析下面程序运行结果
#include <stdio.h> void main() {
char c='A'; int a = 65 , b = -100; long d = 100 ; float x = 3.141592631415,y = -3141592631.415; double dx = 3.141592631415; printf("c=%d, c=%c, c=%x\n",c,c,c); printf("a=%d, a=%x, a=%o,a=%c\n",a,a,a,a); printf("a=%d, a=%10d,a=%-10d, a=%+d\n",a,a,a,a); printf("b=%d, b=%10d,b=%-10d, b=%+d\n",b,b,b,b); printf("d=%d, d=%ld,d=%x, d=%lx\n",d,d,d,d); printf("x=%f,x=%6.f,x=%.3f,x=%6.3f,x=%10.3f\n",x,x,x,x,x); printf("y=%f,y=%6.f,y=%10.f\n",y,y,y); printf("dx=%f,dx=%6.f,dx=%.3f,dx=%6.3f,dx=%10.3f\n",dx,dx,dx,dx,d x); printf("x=%.8f,dx=%.8f\n",x,dx); }

《C语言程序设计教程》全册教案完整版教学设计

《C语言程序设计教程》全册教案完整版教学设计

《C语言程序设计教程》全册教案完整版教学设计一、前言1.1 教学目标(1)理解C语言的基本概念和特点;(2)掌握C语言的基本语法和编程方法;(3)具备运用C语言解决实际问题的能力。

1.2 教学内容本章主要介绍C语言的基本概念、特点和基本语法。

通过本章的学习,学生应该能够了解C语言的历史背景、基本特点,以及如何编写一个简单的C语言程序。

1.3 教学方法采用讲授法、案例教学法和上机实践相结合的方法,让学生在理解C 语言基本概念和特点的基础上,通过动手实践,掌握C语言的基本编程方法。

二、C语言的基本概念和特点2.1 C语言的起源和发展介绍C语言的起源、发展历程和其在计算机编程领域的地位。

2.2 C语言的特点(1)简洁明了:C语言的语法简单,易于学习和使用;(2)高效性能:C语言的程序运行效率高;(4)强大的功能:C语言提供了丰富的库函数,可以处理各种复杂的任务。

三、C语言的基本语法3.1 关键字和标识符介绍C语言中的关键字和标识符的定义、作用以及命名规则。

3.2 数据类型(1)整型:int、short、long等;(2)浮点型:float、double等;(3)字符型:char;(4)布尔型:bool。

3.3 变量和常量介绍变量的定义、声明和初始化,以及常量的概念。

四、运算符和表达式4.1 算数运算符介绍C语言中的算数运算符及其使用方法。

4.2 关系运算符介绍C语言中的关系运算符及其使用方法。

4.3 逻辑运算符介绍C语言中的逻辑运算符及其使用方法。

4.4 赋值运算符介绍C语言中的赋值运算符及其使用方法。

4.5 表达式介绍表达式的概念以及如何计算表达式的值。

五、顺序结构程序设计介绍顺序结构的定义和特点。

5.2 输入输出函数介绍C语言中的输入输出函数,如printf()、scanf()等。

5.3 顺序结构编程实例通过实例讲解如何使用顺序结构编写C语言程序。

教学评价:本章通过讲解C语言的基本概念、特点和基本语法,使学生了解C 语言的基础知识。

《C语言程序设计》微课课件 第3章 C程序设计基础

《C语言程序设计》微课课件 第3章 C程序设计基础
C语言
程序设计教程
常量
整型常量 实型常量 字符型常量 符号常量
常量
1. 整型常量
One
〔1〕十进制整数,如18。 〔2〕八进制整数。以数字0开头,只能用0~7这8个数字组合表达,如0154。
〔3〕十六进制整数。以0x或0X开头,只能用0~9这十个数字及字母 A~F组合返回值0*/
}
程序运行效果
数据类型转换
隐式类型转换 强制类型转换
数据类型转换
1. 隐式类型转换
One
隐式类型转换由编译系统自动进行,不需人为干预。自动转换遵循三个根本规那 么。
01 如参与运算的变量类型不同,那么先转换成同一类型,然后进行运算。
“低级向高级转换〞原那么,如果运算中有几种不同类型的操作数,那么统一02 转换为最高级的数据类型,再进行运算。
float
char,short
int
unsigned
long
double
数据类型转换
03 赋值运算两边的数据类型不同时,赋值号右边量的类型将转换为左边 量的类型。
例如:
int d; d=2.1 +3.2;
/*定义整型变量d*/ /*将2.1 的结果赋给d*/
数据类型转换
2.强制类型转换
Two
强制类型转换即显示类型转换,作用是将表达式的结果强制转换成类型标识符所指定的数据类型。
#define PI 3.1415926
变量
变量
变量是程序运行过程中其值可以改变的量。变量有三个 属性,包括变量名、变量值和存储空间。
变量名
a
3
变量值
01
变量名,即变量的名字,是用户定义的标识符,如图中的a就是变量名。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《C++程序设计》第3阶段导学
(对应教材第7章、第8章、第9章内容)
第7章继承与派生(重点掌握)
1、教学的目的和要求:
理解并掌握类的继承与派生、类成员的访问控制;掌握类继承中的构造函数、析构函数及访问控制;理解派生类成员的标识与访问;掌握构造函数的调用次序,及在派生类中引用和存取基类成员;理解虚基类,并掌握有虚基类时的构造函数的使用方法;理解赋值兼容原则。

2、教学内容:
1)类的继承与派生、类成员的访问控制
✧一个派生类只有一个直接基类,称为单继承;一个派生类同时有多个
基类,称为多继承。

继承方式规定了如何访问从基类继承的成员。

✧派生类继承了基类的全部数据成员和除了构造函数、析构函数外的全
部函数成员,继承的方式有:公有继承(public)、保护继承(protected)、
私有继承(private)。

✧公有继承时,基类的公有成员和保护成员的访问属性在派生类中不
变,而基类的私有成员不可直接访问。

✧保护继承时,基类的公有成员和保护成员都以保护成员身份出现在派
生类中,而基类的私有成员不可直接访问。

✧私有继承时,基类的公有成员和保护成员都以私有成员身份出现在派
生类中,而基类的私有成员不可直接访问,一般情况下,私有继承使
用得较少。

✧上机操作:完成教材P212页上的“例7-1”;理解教材P217页上的“例
7-3”。

2)类型兼容规则是指在需要基类对象的任何地方,都可以使用公有派生类
的对象来替代。

上机操作:完成教材P219页上的“例7-4”。

3)派生类的构造与析构函数
✧构造派生类的对象时,要对基类数据成员、新增数据成员和成员对象
的数据成员进行初始化。

如果基类声明了带有形参表的构造函数时,
派生类就应声明构造函数。

✧派生类析构函数的声明方法与没有继承关系的类中析构函数的声明
方法相同。

✧上机操作:完成教材P224页上的“例7-6”。

4)派生类成员的标识与访问
✧派生类中,成员可以按照访问属性分为四种:不可访问的成员、公有
成员、保护成员和私有成员。

✧作用域分辨符“::”用来限定要访问的成员所在的类的名称。

5)当类的部分或全部直接基类是从另一个共同基类派生而来时,在这些直
接基类中从上一级共同基类继承的成员拥有相同的名字。

可以将共同基
类设置为虚基类,这时候从不同的路径继承过来的同名数据成员在内存
中就只有一个拷贝,同一个函数名也只有一个映射。

6)上机操作:完成教材P244页上的“例7-10”。

第8章多态性(重点掌握)
1、教学的目的和要求:
理解并学会使用多态性;掌握实现多态的三种方法;能正确使用运算符重载、虚函数;掌握抽象类的作用与用法。

2、教学内容:
1)多态
✧多态是指同样的消息(对类的成员函数的调用)被不同类型的对象接
收时导致不同的行为(不同的实现,即调用了不同的函数)。

✧多态可以分为重载多态、强制多态、包含多态和参数多态四类。

✧从实现的角度可以将多态分为:编译时的多态和运行时的多态。

编译
时的多态是在编译过程中确定了同名操作的具体操作对象;运行时的
多态是在程序运行过程中动态地确定操作所针对的具体对象。

2)运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用于不
同类型的数据时导致不同的行为。

3)虚函数是动态绑定的基础。

虚函数经过派生之后,在类族中就可以实现
运行过程中的多态。

4)抽象类是一种特殊的类,为一个类族提供统一的操作界面。

纯虚函数是
一个在基类中声明的虚函数。

带有纯虚函数的类是抽象类。

理解教材
P267页上的“例8-6”。

5)上机操作:完成教材P275页上的“例8-8”。

相关文档
最新文档