C++中 模板使用案例

使用模板写函数可以给多个类型使用,这样就能减少代码量。

#define _CRT_SECURE_NO_WARNIGS
#include <iostream>

using namespace std;

//对char类型和int类型数组进行排序
  
//打印函数
template <class T>
void PrintArray(T* arr, int len) {
	for (int i = 0; i < len; i++)
	{
		cout << arr[i] << ends;
	}
	cout << endl;
}

//排序
template <class T> 
void MySort(T* arr, int len) {
	for (int i = 0; i < len-1; i++)
	{
		for (int j = i+1; j < len; j++)
		{
			if (arr[i]>arr[j])
			{
				int temp = arr[i];
				arr[i] = arr[j];
				arr[j] = temp;
			}
		}
	}
}


int main(void)
{
	//数组
	int arr[]={ 23,4,5,6,8,1,3 };
	//数组长度
	int len = sizeof(arr) / sizeof(int);
	//排序之前
	cout << "排序之前为:";
	PrintArray(arr, len);
	//排序
	MySort(arr, len);
	//排序之后
	cout << "排序之后为:";
	PrintArray(arr, len);

	//数组
	char chArr[] = { 'a','c','b','p','t','w','z' };
	//数组长度
	len = sizeof(chArr) / sizeof(char);
	//排序之前
	cout << "排序之前为:";
	PrintArray(chArr, len);
	//排序
	MySort(chArr, len);
	//排序之后
	cout << "排序之后为:";
	PrintArray(chArr, len);

	return 0;
}

程序运行结果如下
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++模板类是一种通用的类模板,可以定义具有通用行为的类,用于处理各种不同类型的数据。下面是使用C++模板类的基本方法: 1. 定义模板类: 使用关键字`template`和模板参数列表来定义一个模板类。模板参数列表可以包含类型参数和非类型参数。 ```cpp template <typename T> class TemplateClass { // 类的成员和方法定义 }; ``` 2. 实例化模板类: 在使用模板类之前,需要根据实际需要对其进行实例化来创建特定类型的对象。 ```cpp TemplateClass<int> obj1; // 实例化一个存储int类型数据的对象 TemplateClass<double> obj2; // 实例化一个存储double类型数据的对象 ``` 3. 使用模板类的成员和方法: 可以像使用普通类一样使用模板类的成员和方法。 ```cpp obj1.memberVariable = 10; // 设置成员变量的值 int value = obj1.memberFunction(); // 调用成员函数并获取返回值 ``` 4. 特化模板类(可选): 如果需要针对特定类型提供不同的实现,可以使用模板类的特化来为特定类型定义特定的行为。 ```cpp template <> class TemplateClass<char> { // 特定类型char的特化实现 }; ``` 注意事项: - 模板类的定义通常放在头文件,以便在需要的地方进行包含。 - 模板类的成员函数的实现通常也需要放在头文件,以避免链接错误。 - 模板类可以有多个模板参数,可以使用模板元编程技术进行更高级的操作。 - 在使用模板类时,编译器会根据实例化的类型生成对应的代码。每个类型的实例化都会生成不同的类。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值