C++模板类成员函数最好和模板类声明一起放在同一个.h头文件里
2017-07-06 15:32
561 查看
一个完整的C++程序应包括三部分
头文件包含结构声明和使用这些结构的函数原型.头文件常包含的内容如下所示:
1)函数原型
2)使用#define或const定义的符号常量
3)结构声明
4)类声明
5)模板声明
6)内联函数
注意,不要讲函数定义或变量声明放到头文件中。
源代码文件
包含于结构有关的函数代码。
注意,不能将模板成员函数放在单独的实现文件中(以前,C++标准确实提供了关键字export,能够将模板成员函数放在独立的文件中,但支持该关键字的编译器不多,C++11不在这样使用export,而将其保留用于其他用途)。
类模板和成员函数模板不是类和成员函数定义
由于模板不是函数,他们不能单独编译,模板必须与特定的模板实例化请求一起使用,为此,最简单的方法是将所有模板信息放在一个头文件.h中(即将模板类成员函数的代码放在头文件#endif 前),并在要使用这些模板的文件中(主函数.cpp文件)包含该头文件。
源代码文件
包含调用与结构相关的函数的代码,(主函数)
相关文章推荐
- 模板类成员函数的定义和声明为什么要放在一个文件中
- 模板类成员函数的定义和声明为什么要放在一个文件中
- 模板类成员函数的定义和声明为什么要放在一个文件中
- C++第六周任务5:解决用一个项目多个文件的方式实现,其中两个类的声明放在一个.h文件中,每个类的成员函数分别放一个文件,main()函数用一个文件。体会这样安排的优点。
- 将任务4的解决用一个项目多个文件的方式实现,其中两个类的声明放在一个.h文件中,每个类的成员函数分别放一个文件,main()函数用一个文件。
- 泛型编程注意不能将模板类的成员函数放在独立的实现文件中
- C++模板类的成员函数定义与声明必须在一个头文件中
- 解决方案:静态成员对象的声明在头文件中,函数代码在另外一个文件中,提示链接错误
- c++模板类/模板函数的声明与定义应该放在头文件里,不要分开来写类中函数的声明与定义
- c++ 模板类 声明和定义都放在.h文件的原因
- 浅谈C++类的内联成员函数应放在那个文件
- 【转】模板类的声明与实现必须同时放在头文件中
- 声明一个哺乳动物类Mammal,再由此派生出狗类Dog,二者都定义Speak()成员函数,基类中定义为虚函数,声明类Dog的一个对象,调用函数Speak()
- 跟我一起写Makefile(15)--使用make更新函数库文件(函数库文件的成员+函数库成员的隐含规则+函数库文件的后缀规则)
- c++模板类/模板函数的声明与定义应该放在头文件里
- c++ 模版函数的定义和实现放在一个文件中
- 类成员函数声明为另外一个类的友元
- C++模板编程中只特化模板类的一个成员函数
- 学习笔记之C++为什么将函数声明或者类的定义放在.h文件中,而将其实现放在原文件中
- CUDA: 不要在一个.cpp文件中声明kernel(即以_global_和_device_的函数)