首页 > 编程语言 > 详细

c++函数模板1

时间:2017-08-06 20:31:49      阅读:142      评论:0      收藏:0      [点我收藏+]

1 定义:

  函数模板 只适用于参数个数相同但是类型不同 而且函数体相同的情况

2 这个例子没有使用模板的情况

#include <iostream>

using namespace std;

void Swap(int &a, int &b)
{
    int t = a;
    a = b;
    b = t;
}
void Swap(double &a, double &b)
{
    double t = a;
    a = b;
    b = t;
}
int main1()
{
    //long a = 2;
    //long b = 3;
    //Swap(a, b);这样不行

    int a = 2;
    int b = 3;
    Swap(a, b);//但是变成double以后不行 为了通用引入模板
    cout << a << b << endl;
    cin.get();
    return 1;
}

 

3 使用模板以后

 1 #include <iostream>
 2 #include <string>
 3 using namespace std;
 4 
 5 /*
 6 函数模板 只适用于参数个数相同但是类型不同 而且函数
 7 体相同的情况 否则不可以
 8 */
 9 template <typename T>//这里typename可以变化为class
10 void Swap(T &a, T &b)
11 {
12     T t = a;
13     a = b;
14     b = t;
15 }
16 
17 int main2()
18 {
19     int a = 10;
20     int b = 20;
21     Swap(a, b);
22     cout << a << b << endl;
23 
24     long c = 10;
25     long d = 20;
26     Swap(c, d);
27     cout << c << d << endl;
28 
29     string sa = "hello";
30     string sb = "zzong";
31     Swap(sa, sb);
32     cout << sa << sb << endl;
33     
34     cin.get();
35     return 1;
36 }

----------------------->

 

c++函数模板1

原文:http://www.cnblogs.com/lanjianhappy/p/7295585.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!