- /*
- *Copyright (c) 2015,烟台大学计算机学院
- *All rights reserved.
- *文件名称:text.cpp
- *作者:李德彪
- *完成日期:2015年6月1日
- *版本号:v1.0
- *
- *问题描述:在数组类的基础上,将之改造为类模板,以使数组中可以存储各种类型的数据
- *输入描述: 无
- *程序输出:数组类中存储的各种类型的数据
- */
- #include <iostream>
- using namespace std;
- template <class T> //数组类模板定义
- class Array
- {
- public:
- Array(T *l,int s)
- {
- size=s;
- list=new T[size];
- for(int i=0;i<size;i++)
- list[i]=l[i];
- }
- Array(const Array<T>&A)
- {
- size=A.size;
- list=new T[size];
- for(int i=0;i<size;i++)
- {
- list[i]=A.list[i];
- }
- }
- ~Array(){delete[] list;}
- void Show()
- {
- for(int i=0;i<size;i++)
- cout<<list[i]<<" ";
- cout<<endl;
- }
- T& operator[](int i)
- {
- return list[i];
- }
- private:
- T* list; //用于存放动态分配的数组内存首地址
- int size; //数组大小(元素个数)
- };
- int main()
- {
- int a[5]={1,2,3,4,5};
- double b[5]={1.1,2.2,3.3,4.4,5.5};
- Array<int> a1(a,5);
- a1.Show();
- Array<double> a2(b,5);
- a2.Show();
- return 0;
- }