模板知识个人小结

这篇博客介绍了C++中的模板函数和类模板的使用。首先,展示了如何定义和使用一个求绝对值的函数模板,并进行了测试。然后,通过Average函数模板,演示了如何计算三个成绩的平均分并与班级平均分比较。最后,讨论了类模板的概念,并给出了创建和实例化模板类的例子。
摘要由CSDN通过智能技术生成

一、函数模板

形式:template<<模板参数表>>

           <类型> <函数名>(<参数表>)

           {

            }

模板参数表形式为: class <类型参数>(或新的关键字typename <类型参数>)

注意:此处的关键字class与一般的类无关;“类型参数“可以是任何一个合法的标识符。

编写一个求绝对值的函数模板,并进行测试

#include<iostream>

using namespace std;

#include<cmath>

template <class T>

T abs(T a) //这里的T表示函数abs的返回值类型以及参数a的类型都是T型的

{

	return fabs(a);

 }

 int main()

 {

 	int a;

 	double c;

 	cin>>a>>c;

 	cout<<abs(a);

 	cout<<abs(c);

 	return 0;

 }

当模板中带有多个参数类型时

template <class T1,class T2,class T3>

void fun(T1 a,T2 b,T3 c)

{

}

尝试使用函数模板,编写以下函数并测试

函数名Average,包括4个参数,前三个参数为三门课程的成绩(可能为整数,也可能浮点数,使用模板),第四个参数为班级的平均分(浮点数类型,不用模板),在Average函数内,计算并显示三门课程的平均成绩,并与设定的班级平均分比较,如果大于则输出高于班级平均分,否则输入低于班级平均分。

例如Average(82.5,80.5,90.5,80.6); Average(80,90,85,80.6);前三个数字为三门课的成绩,第四个80.6为预先设定的班级平均分

#include<iostream>
using namespace std;
#include<cmath>
template <class T>
T Average(T a,T b,T c,double d)
{
	T s=(a+b+c)/3.0;
	cout<<"平均成绩为:"<<s<<endl;
	if(s>d)
	cout<<"高于班级平均分"<<endl;
	else if(s<d)
	cout<<"低于班级平均分"<<endl;
	return 0;
 }
 int main()
 {
 	double a,b,c;
 	int a1,b1,c1;
 	double d;
 	cin>>a>>b>>c>>d;
 	Average(a,b,c,d);
 	cin>>a1>>b1>>c1>>d;
 	Average(a,b,c,d);
 	return 0;
 }

二、类模板

template<<模板参数表>>

class<类名>

{

}

使用模板类的第一步是定义一个模板类的对象

<类名> <<类型实参>> <对象>

例如:MAX <int> i(3,4);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值