普通类中成员函数一开始就创建
类模板中成员函数在调用时才创建
#include<iostream>
#include<string>
using namespace std;
//类模板与函数模板的区别
class person1 {
public:
void f1()
{
cout << "f1函数调用" << endl;
}
};
class person2 {
public:
void f2()
{
cout << "f2函数调用" << endl;
}
};
template<class T1>
class person3 {
public:
T1 p;
//类模板中的成员函数在调用时才会去创建
//因为指定T1类型不明确,需要在调用时明确T1类型,才能创建函数
void f3()
{
p.f1();
}
void f4()
{
p.f2();
}
};
void t1()
{
person3<person1> per;
//per.f4();//报错,说明函数调用才会去创建成员函数
per.f3();
}
int main()
{
t1();
system("pause");
return 0;
}