简单模板
来源:互联网 发布:淘宝美工工作内容 编辑:程序博客网 时间:2024/05/01 14:15
1. 模板的作用
哼!为什么一个类一个函数就只能用固定的数据类型呢?我只是类型不一样,可是处理上是完全相同的啊,这样代码重复率大大的增加了啊!有没有搞————错!
这是我以前愤愤不平的事情,直到我发现了模板,呵呵,那可是个好东西。它可以增加代码重用率。它使用非特定类型定义类或函数,到使用的时候再用特定的类型代替它们。
2. 类模板
在类的定义中使用模板是我们最——常见的了,你看看,有ATL,有STL,好多。
关键字:template
关键符号:<>
说关键的就是关键,上面的两个少了可不行,怎么用呢?看完下面这个简单的例子,你马上就会了:
#include <iostream.h>
template <class T>
class myclass{
T temp;
public:
myclass(T name){
temp=name;
}
T vomit(){
return temp;
}
};
void main()
{
myclass<int> t1(2);
cout<<t1.vomit()<<endl;
myclass<char*> t2("醉拳");
cout<<t2.vomit()<<endl;
myclass<float> t3(3.14159);
cout<<t3.vomit()<<endl;
}
在通常的类的定义前面加上template<class T>,这样T就是这个类中可以使用的类型了。在使用的时候类名和T要一起用才能正确表示这个类,并且用确定的类型代替这个T,就象上面写的myclass<int>,myclass<char*>之类的。OK,就这么简单。
注意函数vomit(谁能说出它的英文意思?呵呵),在这里是用内联函数实现的,那把他放到类的外面去呢?该怎么定义?呵呵,就象下面这样子啊:
template <class T>
T myclass<T>::vomit(){
return temp;
}
首先,前面加上和类定义一样的template <class T>,类名一定要注意,是myclass<T>而不是myclass。
OK,类模板知道这些就可以啦。
3. 函数模板
和类模板一样,函数也可以用好多类型来实现代码重用,举个例子得了,别不多说,自己看,或者运行一下,我都举的是很简单的例子,旨在揭示原理:
#include <iostream.h>
template <class T>
void f(T qie)
{
cout<<qie<<endl;
}
#define X f<char*>
void main()
{
f<int>(3);
f<char>('r');
X("aadf");
}
运行一下看看?
本文来自: (http://www.qqcf.com) 详细出处参考:http://study.qqcf.com/web/191/21748.htm
- 简单模板
- 简单模板
- 简单Makefile模板
- 简单类模板
- 简单的MAKEFILE模板
- abap简单模板代码
- 模板类简单示例
- smarty模板简单实例
- 简单的登录模板
- C++模板简单范例
- 【模板】 简单数论
- makefile 的简单模板
- 模板简单定义
- jdbc简单模板技术
- 简单模板类
- C++笔记 简单模板
- JQUERY AJAX简单模板
- html简单的模板
- 关于图片在窗体显示后,无法更新或删除的问题
- 文字中间加横线,过滤字符串中tag
- Posix线程编程指南(1)
- QVariant 的使用 自定义类
- tomcat编码
- 简单模板
- win2003用户迁移
- 【Android游戏开发之五】游戏注册界面Demo-实现两个Activity之间的切换与数据交互!
- 2 - 标量变量 - 赋值
- Dll与Hook
- .NET调用新浪微博开放平台接口的代码示例
- 华为:IPv6过渡技术中的探索
- spring ioc 下继承使用不当造成的问题
- ICANN:全球IP地址即将耗尽 应尽快启用IPv6