C++ 模板用法 的简易代码
运行环境:如 WIN10
涉及工具:
如 VS
编程语言:
C、C++
以下为主题内容:
void sort(int* arr, int length) //函数只能针对Int类型排序
{
for (int i = 0; i < length; i++)
{
for (int j = 0; j < length; j++)
{
if (arr < arr)
{
arr = arr + arr;
arr = arr - arr;
arr = arr - arr;
}
}
}
}
void SortByChar(char* arr, int length) //函数只能针对char类型排序
{
for (int i = 0; i < length; i++)
{
for (int j = 0; j < length; j++)
{
if (arr < arr)
{
arr = arr + arr;
arr = arr - arr;
arr = arr - arr;
}
}
}
}
template<class T> //如果需要替换两处,那就在定义一个class S 名字随便取
void SortByTemplate(T* arr, int length) //使用模板实现两个类型用一个函数进行排序
{
for (int i = 0; i < length; i++)
{
for (int j = 0; j < length; j++)
{
if (arr < arr)
{
int temp = arr;
arr = arr;
arr = temp;
}
}
}
}
class Base
{
public:
int x;
int y;
char a;
char b;
Base(int x, int y)
{
this->x = x;
this->y = y;
}
int Getx()
{
return x;
}
int Gety()
{
return y;
}
bool operator<(Base& base)
{
return this->x < base.x&& this->y < base.y;
}
};
int main2()
{
int arr = { 97,98,99,100,101,102,103,104,105,106 }; //调用函数int排序 void sort(int* arr, int length)
sort(arr, 10);
for (int i = 0; i < 10; i++)
{
printf("%d ", arr);
}
printf("\nint类型排序\n\n");
char cArr = { 97,98,99,100,101,102,103,104,105,106 };//调用函数char排序 void SortByChar(char* arr, int length)
SortByChar(cArr, 10);
for (int i = 0; i < 10; i++)
{
printf("%c ", arr);
}
printf("\nchar类型排序\n\n");
SortByTemplate(arr, 10); //使用一个函数 排序两种不同类型数组 int类型 (模板使用)
for (int i = 0; i < 10; i++)
{
printf("%d ", arr);
}
printf("\n模板 int类型排序\n\n");
SortByTemplate(cArr, 10); //使用一个函数 排序两种不同类型数组 char类型 (模板使用)
for (int i = 0; i < 10; i++)
{
printf("%c ", cArr);
}
printf("\n模板 int类型排序\n\n");
Base b1(1, 1), b2(3, 3), b3(6, 6), b4(2, 2), b5(9, 9), b6(7, 7);
Base Barr[] = { b1,b2,b3,b4,b5,b6 };
for (int i = 0; i < 6; i++)
{
printf("%d %d\n", Barr.Getx(), Barr.Gety());
}
printf("\n结构体模板 Base类型排序前\n\n");
SortByTemplate(Barr, 6);
for (int i = 0; i < 6; i++)
{
printf("%d %d\n", Barr.Getx(), Barr.Gety());
}
printf("\n结构体模板 Base类型排序后\n\n");
return 0;
}
学破解防逆向,知进攻懂防守! 大佬无敌 谢谢分享 帮顶一下 感谢楼主 感谢楼主 谢谢分享 无敌了!你怎么知道我想要什么! 大佬无敌