zoukankan      html  css  js  c++  java
  • 泛型编程—函数模板

      当函数的业务逻辑相同但是函数的参数不相同时,让类型参数化,让程序员能够方便编程,就用到了泛型编程。

      基本语法:

      

    #include<iostream>
    using namespace std;
    
    //函数的业务逻辑一样但是函数的参数不一样
    //void myswap01(int& a, int& b)
    //{
    //    int c = 0;
    //    c = a;
    //    a = b;
    //    b = c;
    //}
    //void myswap02(char &a, char& b)
    //{
    //    char c = 0;
    //    c = a;
    //    a = b;
    //    b = c;
    //}
    //函数模板
    //template 告诉c++编译器要开始泛型编程  看到T时不要随意报错
    template <typename T>
    void myswap(T &a,T &b)
    {
        T c;
        c = a;
        a = b;
        b = c;
        cout << "模板调用" << endl;
    }
    //函数模板的调用
    //显示类型调用
    //自动类型推导
    void main()
    {
        {
            int x = 10;
            int y = 20;
            //myswap<int>(x, y);//显示类型调用
            myswap(x, y);//自动类型推导
            cout << "x =" << x << "y = " << y << endl;
        }
        {
            char a = 'a';
            char b = 'b';
            myswap<char>(a, b);//显示类型调用
            cout << "a =" << a << "b = " << b << endl;
        }
    }
    
    //int main1()
    //{
    //    char a = 'a';
    //    char b = 'b';
    //    myswap02(a, b);
    //    int x = 10;
    //    int y = 20;
    //    myswap01(x, y);
    //    cout << "a = " << a << "b = " << b << endl;
    //    cout << "x = " << x << "y = " << y << endl;
    //    system("pause");
    //    return 0;
    //}

       运行结果:

  • 相关阅读:
    黑盒测试方法用例设计详解
    跨域
    HTTP Referer
    Java抽象类和接口
    深入理解Java垃圾回收机制
    Java异常处理机制
    hash
    JUint4的下载、配置及对一个算法编写单元测试用例(测试多组数据每组多个参数)
    get和post的区别
    Mac 文档阅读软件Dash软件破解版
  • 原文地址:https://www.cnblogs.com/ymj11/p/13726408.html
Copyright © 2011-2022 走看看