当前课程知识点:C++语言程序设计进阶 >  第十章 泛型程序设计与C++标准模板库 >  泛型程序设计及STL的结构 >  泛型程序设计的基本概念

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

泛型程序设计的基本概念在线视频

泛型程序设计的基本概念

泛型程序设计的基本概念

术语:概念

术语:模型

用概念做模板参数名



下一节:STL简介

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

泛型程序设计的基本概念课程教案、知识点、字幕

大家好

欢迎回来继续学习

C++语言程序设计

现在我们首先来了解一下

泛型程序设计的一些基本概念

什么是泛型程序设计呢

其实泛型程序设计

就是将程序设计得尽量的通用

泛型程序设计呢

能够将算法与数据类型分离

也就是说

将算法从数据类型中抽象出来

使得算法成为通用的

能够适用于任何数据类型

C++的STL标准模板库

就是泛型程序设计的一个

很好的范例

首先呢我们来了解两个术语

一个是概念 一个是模型

我们用概念来界定

具备一定功能的数据类型

比如说

可以将

可以比较大小的所有数据类型

也就是有比较运算符的数据类型

这一概念记为Comparable

就是可比较的

将具有公有的复制构造函数

并且可以用赋值运算符的

这样的数据类型

这样的概念记为Assignable

就是可赋值的

还可以将可比较大小

并且具有公有复制构造函数

并且可以用赋值运算符的

所有数据类型这个概念

记作Sortable

对于两个不同的概念A和B

如果概念A所需求的所有功能

也是概念B所需求的功能

那么就可以说

概念B是概念A的子概念

比如说

我们刚才提到的这两个概念

Sortable

它既是Comparable的子概念

也是Assignable的子概念

模型呢

指的是

符合一个概念的数据类型

就可以称为该概念的模型

比如说int类型

就是Comparable概念的一个模型

静态数组类型

就不是Assignable概念的模型

因为对于静态数组

我们不能用赋值运算符

给整个数组进行赋值

实际上在STL库中

很多模板的实现

就是用概念来命名模板参数的

我们可以用概念来做模板参数名

也就是为概念赋予一个名称

并且使用这个名称

作为模板参数名

比如说insertionSort

这样一个函数模板的原型

它里面就用到了Sortale

这个概念作为参数

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章小结

-综合实例

--综合实例

-实验十二

--实验十二

- 第十二章讲义

泛型程序设计的基本概念笔记与讨论

也许你还感兴趣的课程:

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