C++模板类成员函数最好和模板类声明一起放在同一个.h头文件里

时间:2022-06-09 10:00:58

一个完整的C++程序应包括三部分

  1. 头文件
    包含结构声明和使用这些结构的函数原型.头文件常包含的内容如下所示:
    1)函数原型
    2)使用#define或const定义的符号常量
    3)结构声明
    4)类声明
    5)模板声明
    6)内联函数
    注意,不要讲函数定义或变量声明放到头文件中。
  2. 源代码文件
    包含于结构有关的函数代码。
    注意,不能将模板成员函数放在单独的实现文件中(以前,C++标准确实提供了关键字export,能够将模板成员函数放在独立的文件中,但支持该关键字的编译器不多,C++11不在这样使用export,而将其保留用于其他用途)。
    类模板和成员函数模板不是类和成员函数定义
    由于模板不是函数,他们不能单独编译,模板必须与特定的模板实例化请求一起使用,为此,最简单的方法是将所有模板信息放在一个头文件.h中(即将模板类成员函数的代码放在头文件#endif 前),并在要使用这些模板的文件中(主函数.cpp文件)包含该头文件。

  3. 源代码文件
    包含调用与结构相关的函数的代码,(主函数)