1、例:求绝对值函数的模板

函数重载方便了函数的使用者,开发者还是要写两个函数

模板是用来生成函数的东西

编译器通过推导生成函数:

2、函数模板定义语法

从例题入手,别上来就扣语法

3、例9-1 函数模板的示例

  1. 该例子中,输出用的是cout<<,若想输入自己定义的类,则要对“<<”(插入运算符)进行重载
  2. 注意
    1. 一个函数模板并非自动可以处理所有类型数据
    2. 只有能够进行函数模板中运算的类型,可以作为类型实参
    3. 自定义的类,需要重载模板中的运算符,才能作为类型实参(否则编译时报错)

4、类模板(知道它“有点用”就行)

4.1 类模板作用,声明

使用类模板使用户可以为类声明一种模式,使得类中的某些数据成员、某些成员函数的参数、某些成员函数的返回值,能取“任意”类型(包括基本数据类型和用户自定义类型)

4.2 类模板声明

4.3 例9-2 类模板示例

    1. 注意这是示意图,并不是表示它真的生成了两个名字一样的类,别纠结

4.4 结束

模板语法是泛型程序设计的基础

参考:C++语言程序设计(第5版),郑莉,清华大学

【C++复习】第九章 模板与群体数据(1)的更多相关文章

  1. CentOS6安装各种大数据软件 第九章:Hue大数据可视化工具安装和配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  2. C++学习笔记46:模板与群体数据

    函数模板 创建一个通用功能的函数,支持多种不同的形参:简化重载函数的函数体设计: 语法形式 template <模板参数表> 函数定义:模板参数表的内容:类型参数:class(或typen ...

  3. Part-Eight 模板与群体数据的组织

    1.方法模板 #include<iostream> using namespace std; template<typename T> void outputArray(con ...

  4. 《数据结构与算法分析:C语言描述》复习——第九章“图论”——拓扑排序

    2014.07.04 17:23 简介: 我们考虑一种特殊的图: 1. 有向图 2. 只有一个连通分量 3. 不存在环 那么这样的图里,必然可以找到一种排序方式,来确定谁在谁的“前面”. 简单的来说可 ...

  5. Laxcus大数据管理系统2.0(11)- 第九章 容错

    第九章 容错 在当前,由于集群庞大的组织体系和复杂性,以及用户普遍要求低成本硬件,使得集群在运行过程中发生的错误概率,远远高于单一且性能稳定的小型机服务器,并且集群在运行过程中几乎是不允许停止的,这就 ...

  6. 《python for data analysis》第九章,数据聚合与分组运算

    # -*- coding:utf-8 -*-# <python for data analysis>第九章# 数据聚合与分组运算import pandas as pdimport nump ...

  7. Python 数据分析—第九章 数据聚合与分组运算

    打算从后往前来做笔记 第九章 数据聚合与分组运算 分组 #生成数据,五行四列 df = pd.DataFrame({'key1':['a','a','b','b','a'], 'key2':['one ...

  8. CSS3秘笈复习:第九章&第十章

    第九章 1.和链接有关的伪类: (1):link,未访问过的链接 (2):visited,已访问过的链接 (3):hover,鼠标悬停链接 (4):active,单击链接时 这四种方式一定要严格按上面 ...

  9. 精通Web Analytics 2.0 (11) 第九章: 新兴分析—社交,移动和视频

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第九章: 新兴分析-社交,移动和视频 网络在过去几年中发生了不可思议的发展变化:从单向对话到双向对话的转变; 由视频,Ajax和 ...

  10. Knockout应用开发指南 第九章:高级应用举例

    原文:Knockout应用开发指南 第九章:高级应用举例 1   Contacts editor 这个例子和微软为演示jQuery Data Linking Proposal例子提供的例子一样的提供的 ...

随机推荐

  1. h5端安装调试工具,react版(但不限于react,vue等)

    首先 npm install vconsole -S 其次在非生产环境的时候可以使用 import VConsole from 'vconsole'; const vConsole = new VCo ...

  2. 这个仅2M的宝藏小工具,竟无需群发就能揪出微信所有单向好友!

    背景:很多人平时微信跟人发消息的时候,发现自己已经被对方清理掉了,因此可能想把自己的微信单向好友都清理出去."转账验证好友"是大部分人已经都知道的方法,但是好友太多,我们实在是无法 ...

  3. SAP HANA : CDS

    6.SAP HANA CDS 使用SAP HANA Core Data Services(CDS)在SAP HANA Extended Application Services中构建设计时数据持久性模 ...

  4. Docker之Nginx保姆级别安装

    Docker之Nginx保姆级别安装: 如果觉得样式不好:跳转即可 http://www.lifengying.site/(md文件复制过来有些样式会不一样) 学英语网站项目:自己先保证Redis.N ...

  5. docker下载java镜像,执行xxx.jar文件

    docker pull java:8u111

  6. Telerik GridView ----Pdf

    ExportToPDF exporter = new ExportToPDF(this.radGridView1); exporter.FileExtension = "pdf"; ...

  7. pip设置镜像

    国内镜像网站 镜像站名 网址 阿里云开源镜像站 http://mirrors.aliyun.com/ 网易开源镜像站 http://mirrors.163.com/ 搜狐开源镜像 http://mir ...

  8. 使用Libusb测试USB device

    一. 先准备好测试工具 -- Libusb: 在Linux中使用的话: 首先从 http://www.libusb.org/官网中下载libusb 然后解压之后./configure --> m ...

  9. win10 优化关键字

    powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61 通知和操作 自动维护 存储 个性化 透明效果 启动 登录选项 更新或重启后 ...

  10. Linux 第十节( APACHE )

    Apache   基金会,软件 http 协议 httpd  软件包 vim /etc/httpd/conf/httpd.conf   //网站配置主文件 systemctl restart http ...