一般在定义一个类的时候,通常是将类的声明放在一个class.h文件中,将一个类的实现放在class.cpp中,并在实现文件中包含,#include “class.h”
在一个文件中放置主函数,并且包含头文件,#include "class.h"但是,当我们定义一个类模板的时候,这样会发生链接错误,这是怎么回事呢,应为template<class Type>所定义出来的类模板,在编译的时候并不
会产生二进制代码,而是在调用的时候才会去找相应的模板声明和实现,因为只能找到模板声明而不能找到模板实现,所以会寄希望于链接程序,所以
产生链接错误。故我们在处理模板类的时候 ,通常将class.h和class.cpp的内容都写在class.h中。
解释了类模板在编译时未产生二进制代码的原因,导致链接错误,并提出了解决方法:将类模板的声明和实现内容写在同一文件中。
5107

被折叠的 条评论
为什么被折叠?



