当前位置: 首页 > news >正文

学做网站知识大理企业网站建设

学做网站知识,大理企业网站建设,邢台网站制作那家便宜,云南建设学院的网站学习视频 文章目录 模板的概念函数模板函数模板语法函数模板注意事项函数模板案例普通函数与函数模板的区别普通函数与函数模板的调用规则模板的局限性 类模板类模板与函数模板区别类模板中成员函数创建时机类模板对象做函数参数类模板与继承类模板成员函数类外实现类模板分文件…学习视频 文章目录 模板的概念函数模板函数模板语法函数模板注意事项函数模板案例普通函数与函数模板的区别普通函数与函数模板的调用规则模板的局限性 类模板类模板与函数模板区别类模板中成员函数创建时机类模板对象做函数参数类模板与继承类模板成员函数类外实现类模板分文件编写类模板与友元类模板案例 模板的概念 模板就是建立通用的模具大大提高复用性 模板的特点 模板不可以直接使用它只是一个框架模板的额通用并不是万能的 函数模板 C 另一种编程思想称为泛型编程主要利用的技术就是模板C 提供两种模板机制函数模板和类模板 函数模板语法 函数模板的作用建立一个通用函数其函数返回值类型和形参类型可以不具体制定用一个虚拟的类型来代表。 templatetypename T 函数声明或定义解释 template — 声明创建模板 typename — 表面其后面的符号是一种数据类型可以用class代替 T — 通用的数据类型名称可以替换通常为大写字母 函数模板注意事项 注意事项 自动类型推导必须推导出一致的数据类型T才可以使用模板必须要确定出T的数据类型才可以使用 函数模板案例 案例描述 利用函数模板封装一个排序的函数可以对不同数据类型数组进行排序排序规则从大到小排序算法为选择排序分别利用char数组和int数组进行测试 普通函数与函数模板的区别 普通函数调用时可以发生自动类型转换隐式类型转换函数模板调用时如果利用自动类型推导不会发生隐式类型转换如果利用显示指定类型的方式可以发生隐式类型转换 templatetypename T T myAdd(T a, T b){return ab; }int a 10; char b b; myAdd(a, b);// 会报错使用函数模板时char不会自动转换为int类型普通函数与函数模板的调用规则 调用规则如下 1、如果函数模板和普通函数都可以实现优先调用普通函数 2、可以通过空模板参数列表来强制调用函数模板 3、函数模板也可以发生重载 4、如果函数模板可以产生更好的匹配优先调用函数模板 总结既然提供了函数模板最好就不要提供普通函数否则容易出现二义性 模板的局限性 局限性 模板的通用性并不是万能的 利用具体化Person的版本实现代码具体化优先调用 template bool myCompare(Person p1, Person p2){}总结 利用具体化的模板可以解决自定义类型的通用化学习模板并不是为了写模板而是在STL能够运用系统提供的模板 类模板 类模板的作用 建立一个通用类类中的成员 数据类型可以不具体制定用一个虚拟的类型来代表 总结类模板和函数模板语法相似在声明模板template后面加类此类称为类模板 类模板与函数模板区别 类模板与函数模板区别主要有两点 类模板没有自动类型推导的使用方式类模板在模板参数列表中可以有默认参数 总结 类模板使用只能用显示指定类型方式类模板中的模板参数列表可以有默认参数 类模板中成员函数创建时机 类模板中成员函数和普通类中成员函数创建时机是有区别的 普通类中的成员函数一开始就可以创建类模板中的成员函数在调用时才创建 总结类模板中的成员函数并不是一开始就创建的在调用时才去创建。因为只有在调用时才能知道模板所表示的具体类型去创建实例。 类模板对象做函数参数 学习目标 类模板实例化出的对象向函数传参的方式 一共有三种传入方式 指定传入的类型 \; —直接显示对象的数据类型参数模板化 \;\;\;\;\;\;\; —将对象中的参数变为模板进行传递整个类模板化 \;\;\;\; —将这个对象类型 模板化进行传递 使用 typeid().name() 可查看模板代替的类型 总结 通过类模板创建的对象可以有三种方式向函数中进行传参使用比较广泛是第一种指定传入的类型 类模板与继承 当类模板碰到继承时需要注意以下几点 当子类继承的父类是一个类模板时子类在声明的时候需指定出父类中T的类型 class Son: public Baseint如果不指定编译器无法给子类分配内存如果想灵活指定出父类中T的类型子类也需变为类模板 templateclass T1 class Son2: public BaseT1 Son2int s2总结如果父类是类模板子类需要指定出父类中T的数据类型 类模板成员函数类外实现 学习目标能够掌握类模板中的成员函数类外实现 总结类模板中成员函数类外实现时需要加上模板参数列表 templateclass T1, class T2 void PersonT1, T2::showPerson(){}类模板分文件编写 学习目标 掌握类模板成员函数文件编写产生的问题以及解决方法 问题 类模板中成员函数构建时机是在调用阶段导致分文件编写时链接不到 解决 解决方式1直接包含.cpp源文件解决方式2将声明和实现写在同一个文件中并更改后缀名为.hpphpp是约定的名称并不是强制 总结主流的解决方式是第二种将类模板成员函数写到一起并将后缀名改为.hpp 类模板与友元 学习目标 掌握类模板配合友元函数的类内和类外实现 全局函数类内实现 - 直接在类内声明友元即可 friend void printPerson(PersonT1, T2 p){cout 姓名 p.m_Name 年龄 p.m_Age endl; }全局函数类外实现 - 需要提前让编译器知道全局函数的存在 因为是全局函数实现所以不需要加作用域 总结建议全局函数做类内实现用法简单而且编译器可以直接识别 类模板案例 案例描述实现一个通用的数组类要求如下 可以对内置数据类型以及自定义数据类型的数据进行存储将数组中的数据存储到堆区构造函数中可以传入数组的容量提供对应的拷贝构造函数以及operator防止浅拷贝问题提供尾插法和尾删法对数组中的数据进行增加和删除可以通过下标的方式访问数组中的元素可以获取数组中当前元素个数和数组的容量
http://www.dnsts.com.cn/news/84968.html

相关文章:

  • 桂林本地网站电子商务网站建设与管理相关论文
  • asp网站怎么打开网站设计与制作的过程
  • 绍兴建设局网站首页怎么把凡科网里做的网站保存成文件
  • 在线搭建网站建设热电偶网站
  • wordpress网站第一次打开慢wordpress 客户
  • 制作做的网站如何上传网上德州网站建设价格
  • 网站建站推荐潍坊专业联轴器收购价格
  • 做个中英文网站多少钱wordpress自动同步
  • 微服务网站开发小程序怎么开
  • 网站做优化需要多少钱便宜网站建设模板网站
  • 怎样做 网站做seo荆州网站seo
  • 58做网站一年多少钱免费自助设计网站
  • 最大的房产网站排名建立网站的技术
  • 深圳装饰网站建设用vs做网站在安装时要勾选
  • 申请免费网站多少钱网站模板 电器
  • 找做网站永久二维码生成器免费
  • 2018年做网站赚钱最近热点新闻大事件
  • 西青网站建设西安建设工程信息网新平台
  • 河南政务网站建设排名广州万户网络
  • 高校思政教育工作网站建设做饮食找工作哪个网站好
  • 公司网站维护教程wordpress主机转移
  • 网站做响应式还是移动端大学高校网站建设栏目
  • 法库综合网站建设方案上海外贸公司招聘职位
  • 深圳网站建设哪个平台好网站推广原则
  • 如何给一个网站做压测福州哪里做网站
  • 大鹏新网站建设建设校园门户网站方案
  • 做网站所用的工具广州番禺桥南做网站
  • 电商网站建设需要哪些技术在哪做网站不要钱
  • 怎么样在网上建设网站挣钱网站个人和公司有什么区别是什么
  • 南京哪个网站做物业贷网站域名做固定资产怎么处理