#include<iostream> using namespace std; //template<typename T>//类模板 //template<typename T=char>//仅允许在类模板上使用默认模板参数 template<typename T=int,typename Y=char> class stu { public: ?? ?T a; ?? ?/*stu(T t)//有参 ?? ?{ ?? ??? ?a = t; ?? ?}*/ ?? ?stu()//无参 ?? ?{ ?? ??? ?a = 16; ?? ?} ?? ?/*void fun() ?? ?{ ?? ??? ?cout << a << endl;
?? ?}*/ ?? ?void fun(); }; template<typename T , typename Y > void stu<T,Y>::fun() { ?? ?cout << a << endl;
} int main() { ?? ?//stu<char> db('a');//模板参数列表。<>中类型可以改变。 ?? ?//stu<> db('a'); ?? ?//stu<int,char> db(13); ?? ?//stu<int,char> db;//无参
? ? ?//db.fun(); ?? ?//stu<int, char>* db1 = new stu<int, char>(1);//传参。 ?? ?stu<int, char>* db1 = new stu<int, char>;//除了类之外,其他任何地方出现stu都要加上模板参数。 ?? ?db1->fun(); ?? ?system("pause"); ?? ?return 0; }
|