类模板与函数模板区别主要有两点

  1. 类模板没有自动类型推导的使用方式
  2. 类模板在模板参数列表中可以有默认参数

测试代码

#include <iostream>
#include <string>using namespace std;
#include <string>
//类模板
template<class NameType, class AgeType = int>
class Person
{
public:Person(NameType name, AgeType age){this->mName = name;this->mAge = age;}void showPerson(){cout << "name: " << this->mName << " age: " << this->mAge << endl;}
public:NameType mName;AgeType mAge;
};//1、类模板没有自动类型推导的使用方式
void test01()
{// Person p("孙悟空", 1000); // 错误 类模板使用时候,不可以用自动类型推导Person <string, int>p("孙悟空", 1000); //必须使用显示指定类型的方式,使用类模板p.showPerson();
}//2、类模板在模板参数列表中可以有默认参数
void test02()
{Person <string> p("猪八戒", 999); //类模板中的模板参数列表 可以指定默认参数p.showPerson();
}int main() {test01();test02();system("pause");return 0;
}

测试结果

总结

  • 类模板使用只能用显示指定类型方式
  • 类模板中的模板参数列表可以有默认参数

类模板与函数模板区别相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. C++基础:模板,函数模板和类模板

    文章目录 1. 函数模板 2. 类模板 3. 模板特化 3.1 函数模板特化 3.2 类模板特化 4. 非类型模板参数 模板是允许函数或类通过泛性的形式表现或运行的特性 1. 函数模板 模板可以使函数 ...

最新文章

  1. 利用JNative实现Java调用动态库
  2. Pearls POJ - 1260(区间记忆化搜索)
  3. 手机调用系统的拍照和裁剪功能,假设界面有输入框EditText,在一些手机会出现点击EditText会弹出输入法,却不能输入的情况。...
  4. [css] 用css给一个元素加边框有哪些方法?
  5. pandas创建与保存(导入与导出)dataframe
  6. iOS开发--AVFoundation自定义相机
  7. 用C++编写的小游戏源代码
  8. jpg格式的图片怎么压缩呢?手把手教你快速压缩jpg图片的大小
  9. (3)paddle---近视眼睛分类的例子
  10. html+css+js(未完待续)
  11. Linux Vmware CentOS 制作yum本地资源库和局域网资源库
  12. 美颜API是什么意思?美颜API和美颜SDK有什么区别?
  13. Java输出水仙花数
  14. 望远大光圈拍风景的魅力--不破不立系列(1)
  15. tableau无法建立连接_的Tableau错误连接到本地MySQL数据库
  16. 硬盘IDE和SATA接口
  17. Conflux 进阶课 | 资产跨链桥梁 详解 Conflux ShuttleFlow 协议
  18. 翻译: 4.多层感知器 pytorch
  19. 为什么手机里的小爱音响app里搜不到家里的小爱音箱_教你500元用小米米家网关+小爱音箱尝鲜最AI智能生活...
  20. 如何让你的共享软件成为印钞机-内幕

热门文章

  1. kernel核函数是什么、用来干什么 及其详细推导
  2. html之div整体缩小,如何整体放大或缩小div元素
  3. Linux概述及软件安装与使用
  4. 3682. 宇恒棋 (华师月赛)
  5. 几款好用的微信开发ui库
  6. 已知两边和夹角求第三边长_已知任意三角形的两边和夹角,怎样用三角函数求出第三边的长度...
  7. 机械设备远程实时监控方案
  8. 以数赋能,中国系统让数据治理脱虚入实
  9. labelme画出的标注json转换成二值标签图,并解决label全黑问题
  10. linux中断数据结构图,北桥.PCI.linuxPCI中断处理