1,展开头文件
2,编译cpp文件
3,链接
在编译的时候如果需要外部类型,编译器会做一个标记,留待链接器来处理。链接器如果找不到需要的外部类型就会发生链接错误。对于模板,单独的模板代码不能被正确编译的,需要一个实例化器产生一个模板实例后才能编译。因此,不能寄希望于链接器来链接模板的成员函数,必须保证在实例化模板的地方模板代码是可见的。