函数的重载与泛型函数

#include"iostream"

using namespace std;
template <typename elemType>   //泛型设计 
void print(elemType *pBegin, elemType *pEnd)
{
	while(pBegin != pEnd)
	{
		cout << *pBegin;
		++pBegin;
	}
}

/*函数的重载*/ 
//void print(int *pBegin, int *pEnd)
//{
//	while(pBegin != pEnd)
//	{
//		cout << *pBegin;
//		++pBegin;
//	}
//}
//
//void print(char *pBegin, char *pEnd)
//{
//	while(pBegin != pEnd)
//	{
//		cout << *pBegin;
//		++pBegin;
//	}
//}
int main()
{
	int num[5] = {0, 1, 2, 3, 4};
	char name[5] = {'F', 'i', 's', 'h', 'c'};
	
	print(num, num+5);
	cout << '\n';
	
	print(name, name+5);
	cout << '\n';
	
	return 0;
 } 
 

函数的上的定义泛型函数,自适应输入的函数的类型,屏蔽段为函数重载。

重载函数是函数的一种特殊情况,为方便使用,C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个运算符完成不同的运算功能。这就是重载函数。重载函数常用来实现功能类似而所处理的数据类型不同的问题。不能只有函数返回值类型不同。

猜你喜欢

转载自blog.csdn.net/g_curry/article/details/85047595