三种方式:
1.指定传入的类型(这种最常用)
2.参数模板化
3.整个类模板化
#include<iostream>using namespace std;template<class T1,class T2>class Person {public: T1 name; T2 age; Person(T1 name,T2 age) { this->name = name; this->age = age; } voID show() { cout << "姓名是:" << this->name << " " << 年龄是:this->age << endl; }};//1.指定传入类型voID printPerson1(Person<string,1)">int>& p) { p.show();}2.参数模板化template<voID printPerson2(Person<T1,T2> &p) { cout << T1的参数类型是:" << typeID(T1).name() << endl; cout << T2的参数类型是:" << typeID(T2).name() << endl; p.show();}3.整个类模板化template<class T>voID printPerson3(T &T的参数类型是:" << typeID(T).name() << endl; p.show();} test() { Person<int> p(tom",12); printPerson1(p); printPerson2(p); printPerson3(p);}int main() { test(); system(pause"); return 0;}
输出:
总结以上是内存溢出为你收集整理的c++之类模板对象作函数参数全部内容,希望文章能够帮你解决c++之类模板对象作函数参数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)