【项目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;       //数组大小(元素个数)
...
}; 
  
                
        
 
相关资源:深入实践C  模板编程.温宇杰(带详细书签).pdf