关于模版类或者函数的使用问题
来源:互联网 发布:平面设计软件哪些免费 编辑:程序博客网 时间:2024/06/05 07:23
在使用模版类或者模版函数过程中,按照原来C++一般类与函数的使用原则,调试时出现错误,提示某些函数或者类没有被引用,经过网上查找和《C++Primer》讲解,发现模版类或者模版函数编译与非模板类或者函数不一样,它的编译方法有两种:
1.包含编译(所有编译器都支持)
一般通过在声明函数模板或者类模板的头文件中添加一条#include包含实现函数模板和类模板的文件,例子如下:
//声明文件(TemplateTmp.h)#ifndef TEMPLATETMP_H_#define TEMPLATETMP_H_template<class TYPE> class CTemplateTmp{public: TYPE GetElem();//....public:TYPE m_tObj;};#include "TemplateTmp.cpp" #endif//实现文件(TemplateTmp.cpp)#ifndef TEMPLATETMP_CPP_#define TEMPLATETMP_CPP_#include "TemplateTmp.h"template<class TYPE>TYPE CTemplateTmp<TYPE>::GetElem(){ return m_tObj;} #endif
2.分别编译(部分编译器支持,需要支持export关键字)
这种编译方法用的比较少,直接举例子:
//声明文件(TemplateTmp.h)template<class TYPE> class CTemplateTmp{...};//实现文件(TemplateTmp.cpp)export template<class TYPE> class CTemplateTmp;#include "TemplateTmp.h"//CTemplateTmp实现部分
最后,感谢网友帮助以及《C++Primer》作者,希望能够把自己的教训与经验分享给网友们,共同学习,晚安!
- 关于模版类或者函数的使用问题
- 模版类的成员函数定义问题
- 关于C++的函数模版
- 关于模版类 写构造函数之后无法编译的问题
- 关于在构造函数中使用memset或者ZeroMemery问题
- 关于模版的一个问题
- Tp5关于include模版标签的使用和模版缓存问题
- 使用thymeleaf模版的问题
- 关于模版类编译出现unresolved external symbol的问题
- 关于模版函数的全特化
- 函数模版和模版函数,类模版和模版类的区别
- 关于模版一个问题的测试
- 关于C++模版的连接错误问题
- 关于bootstrap模版Bootstrapper的问题
- C语言不支持函数模版和类模板的使用
- c++ 函数模版,类模版,实例化,具体化,模版作参数,模版的友元
- 函数模版的使用简单举例
- 关于模版重载函数函数命名冲突的解决方案
- 获取iframe中元素(js和jquery)
- 我见过最好的vsftpd配置教程
- 最受欢迎的8位Java牛人
- uva 10624 Super Number 险险的过了。。。
- Android中的“再按一次返回键退出程序”实现
- 关于模版类或者函数的使用问题
- cocosx-2d for Windows Phone 坐标系,图形,动作,事件
- H.264中的NAL技术
- IPAD2 5.1.1越狱后的屏幕不能自动旋转~~~
- 纵览视频编码标准H.264/AVC
- POJ 1451 T9 (字典树好题)
- RTP控制协议RTCP
- H.264视频编码
- experiment : judge IRP_MJ_CREATE CreateDisposition on minifilter