/*Copyright(c)2014,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:满星辰
*完成日期:2014年 11月 13日
*版本号:v1.0
*
*问题描述:
*程序输入:
*程序输出:
*/
#include <iostream>
using namespace std;
const double pi=3.1415926;
float area(float r=6.5);//指定r的默认值为6.5
float volume(float h,float r=6.5); //指定r的默认值为6.5
int main( )
{
cout<<area()<<endl; //相当于area(6.5);
cout<<area(7.5)<<endl; //形参得到的值为7.5,而不是6.5
cout<<volume(45.6)<<endl; //相当于volume(45.6,6.5)
cout<<volume(34.2,10.4)<<endl; //h的值为34.2,r的值为10.4
return 0;
}
float area(float r)
{
return pi*r*r;
}
float volume(float h,float r)
{
return pi*r*r*h;
}
结果:
#include <iostream>
using namespace std;
template<typename T> //模板声明,其中T为类型参数
T max(T a,T b,T c) //定义一个通用函数,用T作虚拟的类型名
{
if(b>a) a=b;
if(c>a) a=c;
return a;
}
int main( )
{
int i1=185,i2=-76,i3=567;
double d1=56.87,d2=90.23,d3=-3214.78;
long g1=67854,g2=-912456,g3=673456;
cout<<"i_max="<<max(i1,i2,i3)<<endl; //调用模板函数,此时T被int取代
cout<<"f_max="<<max(d1,d2,d3)<<endl; //调用模板函数,此时T被double取代
cout<<"g_max="<<max(g1,g2,g3)<<endl; //调用模板函数,此时T被long取代
cout<<"c_max="<<max('1','a','A')<<endl; //调用模板函数,此时T被long取代
return 0;
}
结果:
本文深入探讨了C++中模板函数与模板声明的使用方法,通过实例展示了如何利用模板来解决不同类型参数的问题,具体包括整型、浮点型和长整型的最大值计算,并对模板函数的调用进行了详细的说明。

被折叠的 条评论
为什么被折叠?



