模板函数I n p u t

试编写一个模板函数I n p u t,它要求用户输入一个非负数,并负责验证用户所输入的数是
否真的大于或等于0,如果不是,它将告诉用户该输入非法,需要重新输入一个数。在函数非
成功退出之前,应给用户三次机会。如果输入成功,函数应当把所输入的数作为引用参数返回。
输入成功时,函数应返回true, 否则返回f a l s e。上机测试该函数。

关键问题是main函数应该怎么调用呢?

/*. 试编写一个模板函数I n p u t,它要求用户输入一个非负数,并负责验证用户所输入的数是
否真的大于或等于0,如果不是,它将告诉用户该输入非法,需要重新输入一个数。在函数非
成功退出之前,应给用户三次机会。如果输入成功,函数应当把所输入的数作为引用参数返回。
输入成功时,函数应返回true, 否则返回f a l s e。上机测试该函数。*/
#include <iostream>
using namespace std;

template<class T>
bool Check(T & num)
{
	int count=0;
	cout<<"请输入一个非负数字"<<endl;
	
	do 
	{
		cin>>num;
		if(num<0)
		{
			cout<<"输入非法,请重新输入"<<endl;
			count++;
		}
		else {return true;break;}
	}while(count<3);
	cout<<"您输入的次数太多,程序结束"<<endl;
	return false;
}

int main()
{
	template<class T>
	T temp;
	if((Check(temp)))
		cout<<"数字为"<<temp;
	return 0;
}
原文地址:https://www.cnblogs.com/zhangdongsheng/p/1865609.html