类模板

        类模板为类定义一种模式,使得类中的某些数据成员,某些成员函数的参数,某些成员函数的返回值,能取任意类型(包括系统预定义的和用户自定义的数据类型)。

       如果一个类中数据成员的类型不能确定,或者某个成员函数的参数或返回值的类型不能确定,就必须将此类声明为模板,它的存在不是代表一个具体的实际的类,而是代表一类类。

       C++语言编译系统会根据类模板和特定的数据类型产生一个类,即模板类。类模板是一个抽象类,而模板类是由类模板和实际类型结合后由编译系统产生的一个实实在在的类。


       定义的语法形式:

      template<class 类属参数 1,class 类属参数 2,...>

      class name

      {

          //类定义体

       }

      template<class 类属参数 1,class 类属参数 2,...>

      <返回类型><类名><类型名表>::<成员函数1>(形参表)

      class name

      {

          //成员函数定义体

       }


       类模板必须用类型参数将其实例化为模板类,才能用来生成对象。

       类模板名<类型实参表>对象名(值实参表)

       例:

  

#include<iostream.h>
template<class T>
class tem
{
  T *data;
  int size;
 public:
  tem(int);
  ~tem();
  {delete []data;}
  T& operator[](int i)
  {return data[i];}
};

template<class T>
tem<T>::tem(int n)
{
  data=new T[n];
  size=n;
}

void main()
{
 tem<int> x(5);
 int i;
 for(i=0;i<5;i++)
   x[i]=i;
 for(i=0;i<5;i++)
   cout<<x[i]<<'';
 cout<<'\n';
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值