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版),郑莉,清华大学

最新文章

  1. Go - 数组 和 切片(array、slice)
  2. 查看Android系统给APP分配的最大堆栈
  3. hibernate 实现分页查询语句、单条查询语句、多条查询语句、修改、删除语句
  4. code blocks 如何实现一键代码格式化
  5. java.io.FileNotFoundException: D:\xxx\yyy (拒绝访问。)问题
  6. php连接函数implode()和分割explode()
  7. Android SimpleAdapter源码详解
  8. [转] 如何在 Ubuntu 14.04 上通过 apt-get 安装 Apache Tomcat 7
  9. WPF Paragraph获取或修改文本内容
  10. 记一次MySQl 安装1067错误
  11. Hello,world,l&#39;m coming!
  12. Java IO4:字符流进阶及BufferedWriter、BufferedReader
  13. 大数据 --&gt; ProtoBuf的使用和原理
  14. Java Spring Boot 上传文件和预览文件地址解析
  15. 字典树-THE XOR largest pair
  16. ajax 未加载出数据时,显示loding,数据显示后,隐藏loading
  17. python中的split()方法的使用
  18. XamarinSQLite教程在Xamarin.iOS项目中定位数据库文件
  19. 【警告】WARN: Establishing SSL connection without server&#39;s identity verification is not recommended.
  20. 数组去重复的时候遇到length变成1 的bug

热门文章

  1. Hsm状态机init()和dispatch()流程
  2. ssm框架下的拦截器过滤静态资源以及拦截jsp
  3. RabbitMQ的安装(linux版)
  4. Linux系统Shell脚本第五章:shell数组、正则表达式及文件三剑客之AWK
  5. typescript学习 回顾查漏
  6. linux端口探测
  7. web安全学习笔记(2022/8/26)
  8. notepad++解决粘贴复制代码行数问题
  9. C语言II博客作业03
  10. 前端之Vue day07 混入、插件、elementui、Router、Vuex