Array模板类
#include<iostream> using namespace std; template <class T> class Array { int size; T* aptr; //T为类型参数 public: Array(int slots=1) { size=slots; aptr=new T[slots];//为动态数组分配内存空间 } void fill_Array(); void disp_Array(); ~Array() {delete[] aptr;} }; template <class T> void Array<T>::fill_Array() { cout<<"输入"<<size<<"个数据"<<endl; for(int i=0;i<size;i++) { cout<<"第"<<i+1<<"个数据:"; cin>>aptr[i]; } } template <class T> void Array<T>::disp_Array() { for(int i=0;i<size;i++) cout<<aptr[i]<<" "; cout<<endl; } int main() { Array<char> ac(5);//Array<char>为模板类,ac(5)定义模板类的对象 cout<<"填充一个字符数组"; ac.fill_Array(); cout<<"数组的内容是:"; ac.disp_Array(); Array<double> ad(3); cout<<"填充一个双精度数组"; ad.fill_Array(); cout<<"数组内容是:"; ad.disp_Array(); return 0; }