/*-------------------------------------------------------------- 试编写一个模板函数I n p u t,它要求用户输入一个非负数,并负责验证用户所输入的数是 否真的大于或等于 0,如果不是,它将告诉用户该输入非法,需要重新输入一个数。在函数非 成功退出之前,应给用户三次机会。如果输入成功,函数应当把所输入的数作为引用参数返回。 输入成功时,函数应返回true, 否则返回f a l s e。上机测试该函数。 -------------------------------------------------------------------*/ #include <iostream> using namespace std; template <class T> bool input(T & ass) { T num; int i = 1; while (i <= 3) { cin >> num; if (num < 0) { cout << "The num is error! \n"; i++; } else break; } if (i > 3) return false; else { ass = num; cout << "True! -- " << ass << endl;; return true; } } int main () { float a; input (a); return 0; }