当前课程知识点:C++语言程序设计进阶 >  第九章 模板与群体数据 >  导学 >  导学

返回《C++语言程序设计进阶》慕课在线视频课程列表

导学在线视频

下一节:函数模板

返回《C++语言程序设计进阶》慕课在线视频列表

导学课程教案、知识点、字幕

大家好

欢迎继续学习C++语言程序设计

这一章我们将为大家

简单地介绍C++的模板机制

而且呢

还要为大家介绍

几个简单的容器类模板

用来容纳群体数据

那么对于数据的处理呢

最常见的就是

对数据进行查找和排序了

这一章我们给大家介绍

几个简单的查找排序的算法

实际上呢

同学们看到这章的标题

可能就有疑问了

群体数据指的是什么呢

是啊

在这一章里

我们说的群体数据

是一组相同类型的元素

组成的数据

特别地

如果它们是按一定次序排列的

我们把它称之为线性群体

我们在之前学过的数组

就可以用来存储

和处理线性群体

但是大家可能还会有些疑问

就是数组

如果我们在运行的过程中

希望它的大小可以改变

是不可以支持的 对吧

还有

我们经常会遇到

下标越界这样的问题

那后来我们又学了动态数组

也就是用动态内存分配的方式

来管理数组的空间

可是大家又会觉得

它还有些麻烦

那么我们在这一章里

有没有什么好办法呢

是啊

在第六章我们就看到过一个

封装起来的动态数组类了

只不过呢那个类

只内适用于存放点类的数组

那我们在程序中

要用到的数据类型有很多呀

总不能我们为了每一种类型

都去封装一个数组

这个成本太高了吧

而且呢

当我们要对数据进行处理的时候

比如说

像最常见的查找 排序

我们要写函数 写算法去实现

那么同样的算法逻辑

当它要

适用于不同的数据类型的时候

其实我们也需要

写不同的函数

重载的形式

其实这也是挺麻烦的一件事

那么C++有没有为我们提供

一种比较方便

比较好的机制呢

有啊

那就是模板

分为函数模板和类模板

在C++中

模板允许我们将处理问题的逻辑

从不同的数据类型中抽离出来

形成容器和算法

是啊

当我们需要对某种数据

进行存储和处理的时候

我们可以在程序中

选择合适的模板

然后指定我们需要的数据类型

这个时候

编译器就会为我们生成

适合这种数据类型的数据容器

以及算法函数

听起来很奇妙呀

其实用起来很简单

这一章呢

我将为大家讲解基本概念

基本语法

以及验证性的例题

由李超老师呢

给大家带来一个

有趣的综合实例

以及实验指导

在综合实例中

大家还记得那个帐号管理系统吗

在那个系统中

如果用户

想动态地为自己添加一个新帐户

之前是不允许的

那么在这一章里

我们将会使用

新学到的array这个好办法

来让用户实现这个新功能

是啊

听了我们的介绍

我相信大家

已经迫不及待地想开始学习了吧

希望大家有兴趣跟我们一起

来探索模板

和群体数据存储与处理的奥秘

而且呢

这一章是泛型程序设计的基础

我们打好基础以后

下一章

我们来介绍泛型程序设计

和STL模板库

那里面有更多有趣的好东西

和之前的章节一样

希望大家除了在学习

郑老师给大家介绍的概念

和方法之后呢

还要多多地去多动手练习

C++语言程序设计进阶课程列表:

第七章 继承与派生

-导学

--导学

-继承的基本概念和语法

--继承的基本概念和语法

-第七章 继承与派生--继承的基本概念和语法习题

-继承方式

--继承方式简介及公有继承

--私有继承和保护继承

-第七章 继承与派生--继承方式

-基类与派生类类型转换

--基类与派生类类型转换

-第七章 继承与派生--基类与派生类类型转换

-派生类的构造和析构

--派生类的构造函数

--派生类的构造函数举例

--派生类的复制构造函数

--派生类的析构函数

--第七章 继承与派生--派生类的构造和析构

-派生类成员的标识与访问

--访问从基类继承的成员

--虚基类

-第七章 继承与派生--派生类成员的标识与访问

-小结

--小结

-综合实例

--第七章综合实例

-实验七

--实验七

-第七章讲义

第八章 多态性

-导学

--导学

-第八章 多态性--导学

-运算符重载

--运算符重载的规则

--双目运算符重载为成员函数

--单目运算符重载为成员函数

--运算符重载为非成员函数

-第八章 多态性--运算符重载

-虚函数

--虚函数

--虚析构函数

--虚表与动态绑定

-第八章 多态性--虚函数

-抽象类

--抽象类

--第八章 多态性--抽象类

-override与final

--override与final

-第八章 多态性--override与final

-小结

--第八章小结

-综合实例

--第八章综合实例

-实验八

--实验八

- 第八章讲义

第九章 模板与群体数据

-导学

--导学

-模板

--函数模板

--类模板

-第九章 模板与群体数据--模板

-线性群体

--线性群体的概念

-第九章 模板与群体数据--线性群体

-数组

--数组类模板

--例9-4数组类应用举例

-链表

--链表的概念与结点类模板

--链表类模板

-第九章 模板与群体数据--链表

-栈

--栈类模板

--栈类模板课后习题

--例9-9 栈的应用

--例9-9 栈的应用课后习题

-队列

--队列类模板

-第九章 模板与群体数据--队列

-排序

--排序概述

--插入排序

--选择排序

--交换排序

-第九章 模板与群体数据--排序

-查找

--查找

--查找课后习题

-小结

--小结

-综合实例

--综合实例

-实验九

--实验九

- 第九章讲义

第十章 泛型程序设计与C++标准模板库

-导学

--导学

-泛型程序设计及STL的结构

--泛型程序设计的基本概念

--STL简介

-第十章 泛型程序设计与C++标准模板库--泛型程序设计及STL的结构

-迭代器

--迭代器

-第十章 泛型程序设计与C++标准模板库--迭代器

-容器的基本功能与分类

--容器的基本功能与分类

-第十章 泛型程序设计与C++标准模板库--容器的基本功能与分类

-顺序容器

--顺序容器的基本功能

--顺序容器的特征

--顺序容器的插入迭代器与适配器

--第十章 泛型程序设计与C++标准模板库--顺序容器

-关联容器

--关联容器分类和基本功能

--集合

--映射

--多重集合和多重映射

-第十章 泛型程序设计与C++标准模板库--关联容器

-函数对象

--函数对象

--函数适配器

-算法

--算法

-小结

--第十章小结

-综合实例

--综合实例

-实验十

--实验十

- 第十章讲义

第十一章 流类库与输入/输出

-导学

--导学

-I/O流的概念及流类库结构

--I/O流的概念及流类库结构

-第十一章 流类库与输入/输出--I/O流的概念及流类库结构

-输出流

--输出流概述

--向文本文件输出

--向二进制文件输出

--向字符串输出

-第十一章 流类库与输入/输出--输出流

-输入流

--输入流概述

--输入流应用举例

--从字符串输入

-第十一章 流类库与输入/输出--输入流

-输入/输出流

--输入/输出流

-第十一章 流类库与输入/输出--输入/输出流

-小结

--小结

-综合实例

--综合实例

-实验十一

--实验十一

- 第十一章讲义

第十二章 异常处理

-导学

--第12章导学

-异常处理的思想与程序实现

--异常处理的思想与程序实现

-第十二章 异常处理--异常处理的思想与程序实现

-异常处理中的构造与析构

--异常处理中的构造与析构

-第十二章 异常处理--异常处理中的构造与析构

-标准程序库异常处理

--标准程序库异常处理

-第十二章 异常处理--标准程序库异常处理

-小结

--第12章小结

-综合实例

--综合实例

-实验十二

--实验十二

- 第十二章讲义

导学笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。