【项目1-排序函数模板】
已知
void Sort(int a[],int size);
void Sort(double a[],int size);
是一个函数模板的两个实例,其功能是将数组a中的前size个元素按从小到大顺序排列。试设计这个函数模板。
【项目2-两个成员的类模板】
设有如下的类声明:
class Test{
public:
void SetData1(int val) { data1=val; }
void SetData2(double val) {data2=val: }
int GetData1() { return data1; }
double GetData2() { return data2; }
private:
int data1;
double data2;
}
(1)试将此类声明改为类模板声明,使得数据成员data1和data2可以是任何类型。
(2)请为该类增默认构造函数、带两个参数分别对应两个数据成员初值的构造函数,以及复制构造函数。
【项目3-数组类模板】
在数组类的基础上,将之改造为类模板,以使数组中可以存储各种类型的数据。
template <class T> //数组类模板定义
class Array
{
private:
T* list; //用于存放动态分配的数组内存首地址
int size; //数组大小(元素个数)
...
};