c ++模板将实现放入源文件而不是标头

时间:2016-08-29 17:22:12

标签: c++ eclipse templates header implementation

因此,当标题读取时,我想创建一个模板类,并将方法/函数实现放入相对源文件中。在对互联网进行一些研究之后,我发现了一些令人费解的解决方案,其中包括制作额外文件并将其包含在标题中。

我知道可以将所有实现放在头文件中,它可以正常工作。另外一个问题是:作为将所有实现放在头文件中的最佳解决方案是否通常是可接受的,因为在与C中的ADT的比较中你有点想隐藏源文件中的实现,是否是相同的情况就在这儿?

一个小例子:让我说我想要一个2-D点的平面作为字符,我想使用下面的代码。

Point.h

#ifndef POINT_H_
#define POINT_H_

template <class T>
class Point {
    T* x;
    T* y;
public:
    Point();
};

#endif

Point.cpp

#include "Point.h"

template <class T>
Point<T>::Point(){
    x=new T;
    y=new T;
}

0 个答案:

没有答案