函数模板和类模板的区别在于:
1.函数模板有自动类型推导,但是类模板没有自动类型推导,
只能用显式指定类型来实例化类模板中的对象
2.函数模板不可以有默认参数,但是类模板允许有默认参数
当类模板中有默认参数的时候,就可以把显示指定类型的参数去掉
如果两者的类型是一致的话

分别用两个测试案例进行举例

#include<iostream>
using namespace std;
template<typename agetype,typename nametype>
class person
{public:person(agetype age, nametype name){this->m_age = age;this->m_name = name;}void showperson(){cout << "姓名为" << this->m_name << "\t" << "年龄为" << this->m_age << endl;}agetype m_age;nametype m_name;
};
template<typename agetype=int, typename nametype=string>
//模板的默认参数,注意类模板中默认参数的写法
class animal
{public:animal(agetype age, nametype name)//模板的默认参数{//注意类模板中默认参数的写法this->m_age = age;this->m_name = name;}void showanimal(){cout << "名字为" << this->m_name << "\t" << "年龄为" << this->m_age << endl;}agetype m_age;nametype m_name;
};
void test01()
{//1.函数模板有自动类型推导,但是类模板没有自动类型推导,
//只能用显式指定类型来实例化类模板中的对象//person p1(18, "张三");//错的,因为类模板中没有自动类型转换person <int, string>p1(19, "张三");//只能用显示指定类型的方式进行对象的初始化操作p1.showperson();
}void test02()
{//函数模板不可以有默认参数,但是类模板允许有默认参数//当类模板中有默认参数的时候,就可以把显示指定类型的参数去掉//如果两者的类型是一致的话animal<>p1(18, "小猫");p1.showanimal();
}
int main(void)
{test01();test02();system("pause");
}

类模板和函数模板的区别及其应用案例 c++ 简单易懂相关推荐

  1. C++提高部分_C++类模板与函数模板的区别---C++语言工作笔记088

    然后我们再去看看类模板和函数模板的区别, 类模板没有自动类型推导,这一种使用方式. 类模板在模板参数列表中是可以有默认参数的. 用例子去说明一下,可以看到我们写了一个Person类,然后 这个类有两个 ...

  2. 类模板与函数模板区别

    类模板与函数模板区别主要有两点 类模板没有自动类型推导的使用方式 类模板在模板参数列表中可以有默认参数 测试代码 #include <iostream> #include <stri ...

  3. C++模板学习02(类模板)(类模板语法、类模板与函数模板的区别、类模板中的成员函数创建时机、类模板对象做函数参数、类模板与继承、类模板成员函数类外实现、类模板分文件编写、类模板与友元)

    C++引用详情(引用的基本语法,注意事项,做函数的参数以及引用的本质,常量引用) 函数高级C++(函数的默认参数,函数的占位参数,函数重载的基本语法以及注意事项) C++类和对象-封装(属性和行为作为 ...

  4. 模板 (函数模板语法 ,类模板与函数模板的区别,:函数模板案例,普通函数与函数模板的区别,普通函数与函数模板调用规则,模板的局限性,类模板分文件编写.cpp,Person.hpp,类模板与友元)

    **01:函数模板语法: #include<iostream> using namespace std;//交换两个整型函数 void swapInt(int &a ,int &a ...

  5. 模板类与类模板、函数模板与模板函数等的区别

    在C++中有好几个这样的术语,但是我们很多时候用的并不正确,几乎是互相替换混淆使用.下面我想彻底辨清几个术语,这样就可以避免很多概念上的混淆和使用上的错误. 这几个词是: 函数指针--指针函数 数组指 ...

  6. C++模板-33-类模板和函数模板的区别

    这篇开始学习类模板相关知识,本篇主要学习什么是类模板,还有类模板和函数模板的区别 1.类模板语法 template <class T> 类 模板声明下面是函数就是函数模板,如果是类就叫类模 ...

  7. C++设计模式由浅入深(二)—— 类模板和函数模板

    二.类和函数模板 C++的模板编程特性是一个又大又复杂的话题,有许多著作专门传授这种特性和技巧.在本书中,我们会用到许多C++中的高级泛型编程特性.那么我们该如何去理解贯穿次数中的这些语言结构呢?本章 ...

  8. C++_static,类模板、函数模板、namespace

    C++_static,类模板.函数模板.namespace 1.static 2.类模板 3.函数模板 4.namespace 5.深入,更多细节 参考:侯捷<C++面向对象高级编程>

  9. 【C++ 语言】面向对象 ( 模板编程 | 函数模板 | 类模板 )

    文章目录 函数模板 类模板 代码示例 函数模板 1. 模板编程 : 类似于 Java 中的泛型编程 ; ① 函数模板 : 对应着 Java 中的泛型方法 ; ② 类模板 : 对应 Java 中的泛型类 ...

最新文章

  1. 中文文本情感分析-python包SnowNLP入门
  2. win10安装问题小结
  3. 怎么看待MYSQL的性能
  4. SVN missing 解决
  5. vue-cli结构介绍
  6. [转帖]成功者的十四项心理定律
  7. 一个前端写的php博客系统--支持markdown哦
  8. 3dmax全局材质灯光细分插件_【3D脚本插件】如何利用插件快速修改全局灯光材质细分...
  9. 批处理访问服务器共享文件夹,批处理设置文件访问权限的方法分享
  10. Python爬取某短视频热点
  11. matlab gui输入函数,紧急求助!关于matlab中GUI用户图形界面通过edit输入调用函数问题!...
  12. 不用PyScript,网页端运行的Python编辑器
  13. mysql存储过程之错误处理
  14. noip 2018游记
  15. 10、Kafka 消息订阅系统
  16. 计算机簇的定义,代数簇
  17. 购买商品复选框全选 单选
  18. 计算机考试的雷区,驾照场考技巧与科目三电子路考雷区整理
  19. node.js热启动
  20. Livox Lidar+海康Camera实时生成彩色点云

热门文章

  1. 好的股票程序化交易api接口模型该怎么做?
  2. 生物医学英语翻译,翻译公司的标准有哪些
  3. 洗扑克牌 (乱数排序)
  4. ffmpeg 视频抽取音频,音频分离 方法大全 你长知识了吗?
  5. 博弈论_奇偶性、单向行走
  6. 帝国cms支付系统的漏单风险
  7. Hadoop退出安全模式
  8. win10进入安全模式和退出安全模式
  9. lisp语言绘制路灯_LISP语言在AD道路设计方案中各种应用
  10. 论语 宪问篇(笔记)