1 函数模板
  主要讲述了函数模板的使用:
   template<typename T>
   函数模板的重载机制
2 类模板
 template<typename T>
在类模板中,注意下面的细节:
stack< stack<int> > mystackstack;
红色的空格必须,因为没有这个空格,将会和>>混淆了。
3。非型别模板参数:
template<typename t, int MaxSize>
class stack
{
    T elements[MaxSize];
    int numberofElements;  //Current Point.
}
对于这种可以这样初始化
stack<int,40>  mystack;                    ---------一定根据前面的定义而来。

这样进行模板参数传递的时候,可以制定一个具体大小的栈。
也可以制定预设的值进行初始化。
template<typename = int, int MaxSize = 100>
4。
看下面这段代码: 这个

template<typename T,int val>
T AddValue(T const&x)
{
 return x+val;
}

这种技术的局限:
1。浮点数和对象作为模板参数不可。
template <double> 不可
template<std::string> 不可


5.高阶技术:
如果class templates拥有base classes,那么内部出现的成员函数并菲总等价于this->fun()即使fun由基类继承而来。



posted on 2005-11-22 14:02  不再专注于.net技术  阅读(268)  评论(0编辑  收藏  举报