C++模板类声明和实现分离

  • 模板类实现存放在cpp中—>编译报错
    1. The code in a template is merely a ‘pattern’ known to the compiler.
    2. The compiler won’t compile the constructors until it is forced to do so.
    3. And we must ensure that this compilation happens for the constructors at least once in the entire compilation process, or we will get the ‘undefined reference’ error.
  • 模板声明、实现分离解决办法
    1. Tell the compiler, at the end of xxx.cpp, which particular template classes will be required, forcing it to compile xxx .
    2. Put the implementation of the member functions in a header file that will be included every time any other ‘translation unit’ (such as main.cpp) uses the template class.

你可能感兴趣的:(C++模板类声明和实现分离)