实现放在了MyTpClass.cpp,然而还是include MyTpClass.cpp在了头文件中,只是做了文件的分隔,但是其他文件include了头文件后,还是把实现也包含进去了,跟都放在.h效果类似,只是实现和声明分开,代码可读性更好 声明放在.h文件,定义放在.cpp文件 // MyTpClass.h // no implementation template <typename T> struct M...
1.在使用以.h,.cpp分离实现模板类时,不能像使用普通类一样只简单的包涵.h头文件,应该在使用模板类的cpp文件中引入模板类相应的cpp文件 2.将模板类的声明与实现都放在.h中(在多个cpp中使用不同模板参数时可能会引起重复定义的编译错误)
a)C++中模板的声明和实现能分离,只是在主程序中#include的是相应的.cpp b)C++中模板的声明和实现最好不要分开,都写在.h文件,这是因为在多个cpp文件中引用模板参数时可能引起重复定义的编译错误 一些有趣的小知识 《C++ Template》第六章讲过这个问题 组织模板代码有三种方式 1.包含模型(常规写法 将实现写在头...