多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] # 普通函数参数 ~~~ template<class NameType, class AgeType> class Maker { public: Maker(NameType name, AgeType age) { this->name = name; this->age = age; } void printMaker() { cout << "Name:" << this->name << " Age:" << this->age << endl; } public: NameType name; AgeType age; }; //1. 指定传入的数据类型 void func1(Maker<string, int> &m) { m.printMaker(); } void test02() { Maker<string, int> m1("x", 13); func1(m1); } ~~~ # 参数模板化 ~~~ //2. 参数模板化 template<class T1, class T2> void func2(Maker<T1, T2> &m) { m.printMaker(); } void test02() { Maker<string, int> m2("x1", 18); func2(m2); } ~~~ # 整个类,模板化 ~~~ template<class T> void func3(T &m) { m.printMaker(); } void test02() { Maker<string, double> m3("abc", 18.8); func3(m3); } ~~~