c++ templete
来源:互联网 发布:ardupilot源码下载 编辑:程序博客网 时间:2024/06/03 16:52
函数模板
#include <iostream.h>template <class T> T GetMax (T a, T b) { T result; result = (a>b)? a : b; return (result);}int main () { int i=5, j=6, k; long l=10, m=5, n; k=GetMax(i,j); n=GetMax(l,m); cout << k << endl; cout << n << endl; return 0;}
类模板#include <iostream.h>template <class T> class pair { T value1, value2;public: pair (T first, T second) { value1=first; value2=second; } T getmax ();};template <class T>T pair::getmax (){ T retval; retval = value1>value2? value1 : value2; return retval;}int main () { pair myobject (100, 75); cout << myobject.getmax(); return 0;}
模板特殊化(Template specialization)
模板的特殊化是当模板中的pattern有确定的类型时,模板有一个具体的实现。例如假设我们的类模板pair 包含一个取模计算(module operation)的函数,而我们希望这个函数只有当对象中存储的数据为整型(int)的时候才能工作,其他时候,我们需要这个函数总是返回0。这可以通过下面的代码来实现:
// Template specialization#include <iostream.h>template <class T> class pair { T value1, value2;public: pair (T first, T second){ value1=first; value2=second; } T module () {return 0;}};template <>class pair <int> { int value1, value2;public: pair (int first, int second){ value1=first; value2=second; } int module ();};template <>int pair<int>::module() { return value1%value2;}int main () { pair <int> myints (100,75); pair <float> myfloats (100.0,75.0); cout << myints.module() << '\n'; cout << myfloats.module() << '\n'; return 0;}
http://blog.csdn.net/zqixiao_09/article/details/51474589
阅读全文
0 0
- c++ templete
- 设计模式--templete mode
- cakephp email templete 很重要
- go text/templete模板
- REA Patcher Templete by Unregistered !
- 23中设计模式(13)--templete模式
- templete模板each循环和if用法
- 设计模式个人备忘(享元模式,strategy, templete strategy)
- 模板方法 Templete Method 实际的处理交给子类,让别人去干吧。
- 模板模式(Templete)是面向对象的哪一个原则的体现
- vue学习笔记1——v-if和templete 条件渲染 使用 key 控制元素的可重用
- c
- c
- c
- c
- C
- c
- c
- 用远程XServer+VirtualBox来利用无显示的强大的Ubuntu服务器资源创建虚拟机
- 常用加密算法介绍
- 第八周(2) 项目2.2
- 第五周项目三
- kaldi问题:local/score.sh: line 56: bc: command not found
- c++ templete
- 高效的SQLSERVER分页查询(推荐)
- 我的工作我这样做
- Unity之C#——委托与事件,观察者模式,猫和老鼠事例
- 敏捷个人之第三天
- POJ 1741 Tree 点分治
- OpenGL 绘制国民党党徽 共青团团徽 花型(可变边的数目)
- Axure 8.0 注册码
- 批量处理 删除指定目录与子目录下的.svn文件夹