[求助]关于类模板
类模板的声明和定义是否分开的问题:
昨天在看《C++ Templates The Complete Guide》这本书时,书中提到标准中分开,分别放在.h 和.cpp文件中,但大部分公司的程序是放在.h文件中,分开时需用关键字export
我试了一下,不行,用的是.net 和dev c++ ;不知道是这两个开发环境不支持标准,还是我编的程序有问题?????
1. //.h
export template <typename T>
class A
{
private:
T t;
public:
A(T t1);
T fun();
};
//.cpp
#include "templ.h"
template<typename T>
A<T>::A(T t1)
{
t = t1;
}
template<typename T>
T A<T>::fun()
{
return t;
}
2. //.h
template <typename T>
class A
{
private:
T t;
public:
A(T t1);
T fun();
};
//.cpp
#include "templ.h"
export template<typename T>
A<T>::A(T t1)
{
t = t1;
}
export template<typename T>
T A<T>::fun()
{
return t;
}
请问谁曾经这样用过?