模板函数

 函数模板和类模板 

端午节过完了 ,又要开始上学啦,致敬爱学习的我。
今天说一下函数模板和类模板

 声明函数模板


以下第一个代码片部分应用《C++面向对象程序设计》

声明函数模板
template <typename T>    //T为类型参数
T max(T x,T y)          //“T x,T y”为模板形参表
{return (x>y)?x:y;}
也可以定义成这样:
emplate <class T>        //T为类型参数
T max(T x,T y)          //“T x,T y”为模板形参表
{return (x>y)?x:y;}
函数模板声明格式如下:
template <typename 类型参数>
返回类型 函数名(模板形参表)
{
    函数体
  
}
也可以定义成如下格式:
template <class 类型参数>
返回类型 函数名(模板形参表)
{
    函数体
  
}

然后是类模板

template<typename 类型参数>
class 类名{
    类成员声明
  };
也可以如以下形式:
template<class 类型参数>
class 类名{
    类成员声明
  };

然后以下是我自己写的一个例子:

分别计算两个数组的和,输入两个学生的信息并输出。

#include <iostream>
#include<string>
using namespace std;
template<typename T>
T Sum(T arry[], int size = 0)
{
	T sum = 0;
	for (int i = 0; i < size; i++)
	{
		sum = sum + arry[i];
	}
	return sum;

}
template <typename T>
class student {
public:
	student(T name, T number, T grade);
	T Connect();
private: T x, y, z;

};
template <typename T>
student<T>::student(T name, T number, T grade)
{
	x = name;
	y = number;
	z = grade;
}
template <typename T>
T student<T>::Connect()
{
	return "name:" + x + '\n' + "number:" + y + '\n' + "grade:" + z;
}


int main()
{
	int arry[4] = { 10,2,3,4 };
	double para[5] = { 10.22,1.204,5.33,6.15,9.33 };
	int sum1 = Sum(arry, 4);
	double sum2 = Sum(para, 5);
	cout << sum1 << endl;
	cout << sum2 << endl;;
	student <string>person("佩奇", "20190610", "大一");
	string s = person.Connect();
	cout << s;
	return 0;
}

运行结果:

好啦  就是这些啦!虽然看得人很少,但是如果你看到了 ,觉得有用,点个赞哦!谢谢你。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值