C++编程语言中的模板应用是一个非常重要的操作技巧。它的应用在很大程度上提高了编程人员程序开发效率。在这篇文章中,我们将会重点介绍一下有关C++模板限制的相关应用,方便大家理解。
1、浮点数不能作为 非类型模板参数 如:template
2、自定义类不能作为模板参数,这些自定义类也是 非类型模板参数。
- // 6-14-2009
- #include
- using namespace std;
- // #define FLOAT
- // #define TEMPLATE_OBJECT
- #define COMMON_OBJECT
- #ifdef FLOAT
- template
- class TT;
- #endif
- #ifdef TEMPLATE_OBJECT
- template < class T >
- class TM {};
- template < TM
c > - class TT;
- #endif
- #ifdef COMMON_OBJECT
- class TN{};
- template < TN c >
- class TT;
- #endif
C++模板限制中还有一个,而且相当重要:
模板类或模板函数的声明与定义必须位于同一个文件中!除非新一代的编译器支持关键字export.
如果编译器不支持export关键字,但我们又想把声明与定义分开写,那该如何操作呢?方法如下:
把模板声明写在.h中,模板定义写在.cpp中,需要注意的是,我们并不像一般的文件包含那样,在.cpp中包含.h,而是在main.cpp中,把这两个东东包含进来如:
- // test.h
- template
- class Test
- {
- public:
- void print();
- };
- // test.cpp
- template
- void Test
::print() - {
- cout << "Successfully!" << endl;
- }
- // main.cpp
- #include
- using namespace std;
- #include "test.h"
- #include "test.cpp"
- int main()
- {
- Test
t; - t.print();
- return 0;
- }
以上就是对C++模板限制的相关介绍。
【编辑推荐】
分享名称:C++模板限制实际应用方式探讨
当前链接:http://www.csdahua.cn/qtweb/news16/431166.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网