学习目标:
- 类模板实例化出来的对象,向函数传递参数的方式
一共有三种传入方式:
**
- 指定传入的类型 —- 直接显示对象的数据类型
- 参数模板化 —- 将对象中的参数变为模板进行传递
- 整个类模板化 —- 将这个对象类型模板化进行传递
示例:
#include <iostream>#include <string>using namespace std;template<typename nameType,typename ageType>class Person{public:nameType m_Name;ageType m_Age;Person(nameType name,ageType age){this->m_Name = name;this->m_Age = age;}void getData(){cout << "年龄:" << m_Age << endl;cout << "姓名:" << m_Name << endl;}};void printPerson01(Person<string,int>&p1){p1.getData();}void test01(){Person<string,int>p1("Tom",18);printPerson01(p1);}template<typename T1,typename T2>void printPerson02(Person<T1,T2>&p2){p2.getData();}void test02(){Person<string,int>p2("Jack",20);printPerson02(p2);}template<typename T>void printPerson03(T& p){p.getData();}void test03(){Person<string,int>p3("Mike",19);printPerson03(p3);}int main(){test01();test02();test03();system("pause");return 0;}
