C++中模板类的声明和实现分离问题
2017-08-29
有两种方式:
第1种:使用 .tpp 文件实现类模板的接口与实现的文件分离
在.h文件中放接口,在.tpp文件中放实现,但这种方法得在.h文件中,类的定义
下面
#include ".tpp"文件,如下:
//TestTemplate.h文件
#pragma once
template <typename T>
class TestTemplate{
public:
TestTemplate(const T& a): data(a){}
void print();//需要实现的方法
private:
T data;
};
#include "TestTemplate.tpp" //在类的定义下面放置#include ".tpp"文件
(其实,在这种情况下,实现文件TestTemplate