体会:继承是数据的复制、模版是代码的复制。
模板函数在编译完成之后,会生成对应参数数类型的函数;
继承是对虚表、数据的复制,其中也涉及到使用虚函数继承产生多态时,虚表函数的替换;
template<class T>
void Sort(T arr, int nLength)
{
int i;
int k;
for (i = 0;i < nLength - 1;i++)
{
for (k = 0;k < nLength - 1 - i;k++)
{
if (arr[k] > arr[k + 1])
{
int temp = arr[k];
arr[k] = arr[k + 1];
arr[k + 1] = temp;
}
}
}
}
/*
测试:
char arr[] = { 2,6,1,8,4,3 };
Sort(arr, 6);
*/
template<class T, class M>
struct Base
{
T x;
T y;
M a;
M b;
T Max()
{
if (x > y)
{
return x;
}
else
{
return y;
}
}
M Min()
{
if (a < b)
{
return a;
}
else
{
return b;
}
}
};
/*
测试:
Base<int, char> base;
base.x = 10;
base.y = 20;
base.a = 1;
base.b = 2;
int x1 = base.Max();
int y = base.Min();
*/
参考:滴水视频