码迷,mamicode.com
首页 > 编程语言 > 详细

c++函数模板1

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

标签:pen   include   cin   get   ace   class   template   使用   没有   

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

标签:pen   include   cin   get   ace   class   template   使用   没有   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!