关闭

四个C++函数模板实例

标签: C++函数模板
258人阅读 评论(0) 收藏 举报
分类:

实例一

#include <string> 
#include <iostream> 

using namespace std; 

template<typename T> void print(const T& var) 
{     
    cout << var << endl; 
} 
int main() 
{     
    string str("Hello World");     
    const int num=12345; 
    print(str); 
    print(num); 
    return 0; 
}




实例二

#include <iostream.h> 
// 定义函数模板,找出三个值中最小的值,与数据类型无关 
template <class T> 
T min(T ii, T jj, T kk) 
{ 
    T temp; 
    if((ii<jj)&&(ii<kk)){     temp=ii; } 
    else if((jj<ii)&&(jj<kk)){ temp=jj; } 
    else{    temp=kk;} 
    return temp; 
} 
int main()  
{ 
    cout<<min("anderson","Washington","Smith")<<endl; 
    return 0;
}




实例三

#include <iostream>
#include <string>

using namespace std;

template<class T> void swap(T *x, T *y){//函数的模板,只要能使用等号赋值类型都可以用这个模板互换
	 T temp = *x;
	 *x = *y;
	 *y = temp;
	 }

int main()
{
    int i = 9, j = 5;
    float k = 9.2, l = 5.6;
    swap(&i, &j);//交换整形
    swap(&k, &l);//交换浮点型
    cout<<"i = "<<i<<" , j = "<<j<<endl;
    cout<<"k = "<<k<<" , l = "<<l<<endl;
    return 0;
} 




实例四

使用普通函数;

#include<iostream>

using namespace std;

int int_add(int a,int b)//定义函数int_add用于int型数据相加
{
 int c;
 c=a+b;
 return c;
} 

double dou_add(double a,double b)//定义函数dou_add用于double型函数相加
{
 double c;
 c=a+b;
 return c;
}

int main()
{
 cout<<int_add(5,3)<<endl;  //调用int_add函数
 cout<<dou_add(5.35,5.5)<<endl;  //调用dou_add函数
 return 0;
}

使用函数重载;

#include<iostream>

using namespace std;

int n_add(int a,int b)//定义函数n_add用于int型数据相加
{
 int c;
 c=a+b;
 return c;
} 

double n_add(double a,double b)//定义函数n_add用于double型函数相加
{
 double c;
 c=a+b;
 return c;
}

int main()
{
 cout<<n_add(5,3)<<endl;  //调用n_add函数
 cout<<n_add(5.35,5.5)<<endl;   //调用n_add函数
 return 0;
}


使用函数模板

#include<iostream>

using namespace std;

template<typename T>
T n_add(T a,T b)
{
 T c;
 c=a+b;
 return c;
} 

int main()
{
 cout<<n_add(5,3)<<endl;
 cout<<n_add(5.35,5.5)<<endl;
 return 0;
}



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:914922次
    • 积分:13279
    • 等级:
    • 排名:第1029名
    • 原创:356篇
    • 转载:425篇
    • 译文:8篇
    • 评论:61条
    最新评论