1 //类模板与函数模板的区别
2 //1.类模板没有自动类型推导的使用方式
3 //2.类模板子模板参数中可以有默认参数
4
5 #include <iostream>
6 #include <string>
7 #include<fstream>
8 using namespace std;
9
10 template<class NameType, class AgeType = int>
11 class Person
12 {
13 public:
14 Person(NameType name, AgeType age)
15 {
16 this->m_Name = name;
17 this->m_Age = age;
18 }
19
20 void showPerson()
21 {
22 cout << "name: " << this->m_Name << " age = " << this->m_Age << endl;
23 }
24
25
26 NameType m_Name;
27 AgeType m_Age;
28 };
29
30 //1.类模板没有自动类型推导使用方式
31 void test01()
32 {
33 //Person p("张三", 10); 错误
34
35 Person<string, int>p("张三", 100);//只能用指定类型
36 p.showPerson();
37 }
38
39
40 //2.类模板在模板参数列表中有默认参数
41 void test02()
42 {
43 Person<string>p("李四", 20);
44 p.showPerson();
45 }
46
47
48
49 int main()
50 {
51
52 test01();
53 test02();
54
55
56 system("pause");
57
58 return 0;
59
60 }

本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。