C++编程失乐园

致力于解决论坛的不足,探讨C++的原理

C++随笔 之 C++标准库4(原创)--模版方法

模版方法
在3中我已经说过了,C++标准库是基于模版技术构建的,complex是模版,string是模版,vector是模版,就连I/O也是模版。
在C++标准库中模版共分为2中,一种是类模板,还有一种是函数模版
模版的一般定义方式
template <类型型参表> 返回类型 类名 <类型名表>::成员函数1(型参表)
{
   成员函数1定义体
}
模版函数的一般定义方式
template <类型型参表>返回类型 函数名(型参表)
{
   函数定义体
}
有一句话说的比较好,一个类模版描述的是一个无限的类的集合,而程序员所看到的是这些类中的最普遍的地方。那么,C++也支持无限集合函数的概念了。
下面是一个模版函数的定义实例:
Example Code:
template <class T>
T max(T a1,T a2,T a3)
{
   T temp;
   if((a1 > a2) && (a1 >a3)) {temp = a1;}
   else if((a2 > a1) && (a2 > a3)){temp = a2;}
   else   {temp = a3};
   return a3;
}
就可以使用max(100,200,300);
类模版的一般定义方式
template <class T>
class A:
{
   T* x;
   int size;
public:
   T& operator[](int);
};
就可以使用A<int> a;定义了

posted on 2006-12-29 15:12 木木头 阅读(269) 评论(0)  编辑 收藏 引用 所属分类: C++特性


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2006年12月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

常用链接

留言簿(3)

随笔分类(29)

搜索

最新随笔

最新评论