关闭

第十四周项目61-数组类模板

426人阅读 评论(0) 收藏 举报
  1. /* 
  2. *Copyright (c) 2015,烟台大学计算机学院 
  3. *All rights reserved. 
  4. *文件名称:text.cpp 
  5. *作者:李德彪
  6. *完成日期:2015年6月1日 
  7. *版本号:v1.0 
  8. * 
  9. *问题描述:在数组类的基础上,将之改造为类模板,以使数组中可以存储各种类型的数据 
  10. *输入描述: 无 
  11. *程序输出:数组类中存储的各种类型的数据 
  12. */  
  13. #include <iostream>  
  14.   
  15. using namespace std;  
  16. template <class T>  //数组类模板定义  
  17. class Array  
  18. {  
  19. public:  
  20.         Array(T *l,int s)  
  21.         {  
  22.             size=s;  
  23.             list=new T[size];  
  24.             for(int i=0;i<size;i++)  
  25.                 list[i]=l[i];  
  26.         }  
  27.         Array(const Array<T>&A)  
  28.         {  
  29.             size=A.size;  
  30.             list=new T[size];  
  31.             for(int i=0;i<size;i++)  
  32.             {  
  33.                 list[i]=A.list[i];  
  34.             }  
  35.         }  
  36.         ~Array(){delete[] list;}  
  37.         void Show()  
  38.         {  
  39.             for(int i=0;i<size;i++)  
  40.             cout<<list[i]<<" ";  
  41.             cout<<endl;  
  42.         }  
  43.         T& operator[](int i)  
  44.         {  
  45.             return list[i];  
  46.         }  
  47.   
  48. private:  
  49.     T* list;        //用于存放动态分配的数组内存首地址  
  50.     int size;       //数组大小(元素个数)  
  51. };  
  52. int main()  
  53. {  
  54.     int a[5]={1,2,3,4,5};  
  55.     double b[5]={1.1,2.2,3.3,4.4,5.5};  
  56.     Array<int> a1(a,5);  
  57.     a1.Show();  
  58.     Array<double> a2(b,5);  
  59.     a2.Show();  
  60.     return 0;  
  61. }  
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13100次
    • 积分:714
    • 等级:
    • 排名:千里之外
    • 原创:61篇
    • 转载:1篇
    • 译文:0篇
    • 评论:1条
    最新评论