在将模板的声明和定义放在使用该模板的文件中时,组织是包括定义的组织。例如:
main.cc
template <class Number> Number twice(Number original);
template <class Number> Number twice(Number original )
{ return original + original; }
int main()
{ return twice<int>(-3); }使用模板的文件包括了包含模板声明和模板定义的文件时,使用模板的该文件的组织也是包括定义的组织。例如:
twice.h
#ifndef TWICE_H
#define TWICE_H
template <class Number>
Number twice(Number original);
template <class Number> Number twice( Number original )
{ return original + original; }
#endifmain.cc
#include “twice.h”
int main()
{ return twice(-3); }