template<class T>
class Abc
{
public:
T a;
public:
void setvv(T b);
T getvv();
};
#include "b.h"
template<class T>
void Abc<T>::setvv(T b)
{
a = b;
}
template<class T>
T Abc<T>::getvv()
{
return a;
}#include "b.cpp"
#include <iostream>
using namespace std;
int main()
{
Abc<int> ab;
ab.setvv(10);
cout<<ab.getvv()<<endl;
return 0;
}
1.在使用以.h,.cpp分离实现模板类时,不能像使用普通类一样只简单的包涵.h头文件,应该在使用模板类的cpp文件中引入模板类相应的cpp文件
2.将模板类的声明与实现都放在.h中(在多个cpp中使用不同模板参数时可能会引起重复定义的编译错误)
本文详细阐述了在使用以.h,.cpp分离实现模板类时的注意事项,包括引入模板类相应cpp文件的方法、模板类声明与实现分开存放的优缺点等关键信息。
861

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



