l诶模板中成员函数和普通类成员函数创建的时机是有区别的:
1.普通的成员函数一开始就可以创建;
2.类模板的成员函数在调用时才创建;
#include<iostream> using namespace std; class Person1 { public: void showPerson1() { cout << "这里是person1" << endl; } }; class Person2 { public: void showPerson2() { cout << "这里是person2" << endl; } }; //不确定obj的类型,所以这里是可以编译成功的 template<class T> class Person { public: T obj; void show1() { obj.showPerson1(); } void show2() { obj.showPerson2(); } }; void test() { //这里传入了Person1之后,show1才被创建 Person<Person1> p; p.show1(); //p.show2(); } int main() { test(); system("pause"); return 0; }