吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 3612|回复: 67

[C/C++] C++ 模板用法 的简易代码

  [复制链接]
gwgirl 发表于 2022-1-26 09:38 | 显示全部楼层 |阅读模式

运行环境:
如 WIN10
涉及工具:
如 VS
编程语言:
C、C++

以下为主题内容:

[Python] 纯文本查看 复制代码
void sort(int* arr, int length)									//函数只能针对Int类型排序
{
	for (int i = 0; i < length; i++)
	{
		for (int j = 0; j < length; j++)
		{
			if (arr[j] < arr[j + 1])
			{
				arr[j] = arr[j] + arr[j + 1];
				arr[j+1] = arr[j] - arr[j + 1];
				arr[j] = arr[j] - arr[j + 1];
			}
		}
	}
}

void SortByChar(char* arr, int length)					//函数只能针对char类型排序 
{
	for (int i = 0; i < length; i++)
	{
		for (int j = 0; j < length; j++)
		{
			if (arr[j] < arr[j + 1])
			{
				arr[j] = arr[j] + arr[j + 1];
				arr[j + 1] = arr[j] - arr[j + 1];
				arr[j] = arr[j] - arr[j + 1];
			}
		}
	}
}

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[j] < arr[j + 1])
			{
				int temp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = 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[10] = { 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[i]);
	}
	printf("\nint类型排序\n\n");

	char cArr[10] = { 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[i]);
		}
	printf("\nchar类型排序\n\n");

	SortByTemplate(arr, 10);				//使用一个函数 排序两种不同类型数组 int类型		 (模板使用)
		for (int i = 0; i < 10; i++)
		{
			printf("%d ", arr[i]);
		}
	printf("\n模板 int类型排序\n\n");

	SortByTemplate(cArr, 10);			//使用一个函数 排序两种不同类型数组 char类型	 (模板使用)
	for (int i = 0; i < 10; i++)
	{
		printf("%c ", cArr[i]);
	}
	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[i].Getx(), Barr[i].Gety());
	}
	printf("\n结构体模板 Base类型排序前\n\n");

	SortByTemplate(Barr, 6);
	for (int i = 0; i < 6; i++)
	{
		printf("%d %d\n", Barr[i].Getx(), Barr[i].Gety());
	}
	printf("\n结构体模板 Base类型排序后\n\n");

	
	return 0;
}


评分

参与人数 18HB +14 THX +5 收起 理由
花盗睡鼠 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
消逝的过去 + 1
纯英文 + 1
风里去 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
人生无锡 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
情绪马 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
agan8888 + 1
武清一点点 + 1
brswbx201610 + 1
boot + 1
sm5186 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
pmm018 + 1
kll545012 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
曦照 + 1
成丰羽 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
longge188 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
zxjzzh + 2 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
淡灬看夏丶恋雨 + 1

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
longge188 发表于 2022-1-26 17:27 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
GSkulFOjfAW 发表于 2022-1-27 19:31 | 显示全部楼层

大佬无敌
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
CYTNRFji381 发表于 2022-1-27 20:51 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
xcCpAtuOdra 发表于 2022-1-27 21:03 | 显示全部楼层

帮顶一下
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
凉面61279 发表于 2022-1-28 12:23 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
zKQcE267 发表于 2022-1-28 12:23 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
eklSC40 发表于 2022-1-28 12:23 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
JaKFGXc1 发表于 2022-1-28 12:23 | 显示全部楼层

无敌了!你怎么知道我想要什么!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
pHDonSI 发表于 2022-1-28 18:26 | 显示全部楼层

大佬无敌
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表