//重点1、数组类模板的意义就是可以存放任意数据类型(包括类的嵌套)
//重点2、T*p保存数组首元素地址
//重点3、实例化对象的时候必须具体化类型
//重点4、声明友元的时候必须声明T,即使友元在类内部声明;
template<class T1>
class Data
{
//友元前面也要声明T,不然报错第一行啥啥啥的,devc++上报错运算符重载
//<<出现未定义情况
template<class T1>
friend ostream& operator<< (ostream& cout, Data<T1> ob);
private:
T1* p;
int size;
int capcity;
public:
Data();
Data(int capcity);
~Data();
Data( Data& ob);
Data& operator=(Data& ob);
void insert(T1 elem);
void sort();
};
template<class T1>
Data<T1>::Data()
{
size = 0;
capcity = 5;
p = new T1[capcity];
}
template<class T1>
Data<T1>::Data(int capcity)
{