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;
}

【运行结果】

 

 

 

posted @ 2022-11-20 16:45  Mr_宋先生  阅读(96)  评论(0编辑  收藏  举报