c++:模板
一、模板的基本概念
c++除了面向对象的编程思想之外,还有泛型编程,主要技术是模板。
c++提供两种模板机制:函数模板,类模板。
函数模板:建立一个通用函数,其函数返回值和形参类型可以不具体定制,同一个虚拟的类型来代表。(模板必须声明在函数上方,且一个模板只对应一个函数)
语法:
template <typename T> //函数声明或定义 //template--声明创建模板 //typename--声明后面的符号是一种数据类型,可以用class代替 //T--通用的数据类型,名称可替换
二、模板实例
#include <iostream>
using namespace std;
template <typename T> //声明一个排序模板
void mysort(T arr[], int len) {
int i, j;
T temp;
for (i = 0; i < len - 1; i++)
for (j = 0; j < len - 1 - i; j++)
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
template <typename T> //声明一个打印模板
void print(T arr[],int len){
int i;
for(i=0;i<len;i++)
cout<<arr[i]<<" ";
cout<<endl;
}
void test01(){ //测试int数组
int a[5]={2,3,5,1,4};
print(a,5);
mysort(a,5);
print(a,5);
}
void test02(){ //测试char数组
char a[]="bbsajasd";
int len=sizeof(a)/sizeof(char)-1;
print(a,len);
mysort(a,len);
print(a,len);
}
int main() {
test01();
test02();
return 0;
}
【运行结果】
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)