考虑 Zaita 在cplusplus.com上发布的有用代码,特别是安全获取数字的部分,在我的情况下修改为函数:
int get_number()
{
/**
* cplusplus.com/forum/articles/6046
* gets number from input stream
**/
string input = "";
int number = 0;
while (true)
{
getline(cin, input);
stringstream checks(input);
if (checks >> number)
return number;
cout << "Please enter a valid number\n";
}
}
现在,我的问题是:我可以删除int
get_number() 的函数定义的第一行,并在我的代码顶部用我可能想要返回的所有类型声明它,例如做一些这样的声明:
double get_number();
int get_number();
long get_number();
unsigned short get_number();
...
...
并以某种方式让它根据我想存储函数返回的变量来做不同的返回?目前我只是在将名称更改为get_someType
我希望我可以用这种语法做类似声明:
int get_number(int);
double get_double(double);
...
...
我的愿望是做类似的事情:
int x;
x = get_number(int);
我相信这不会起作用!因为用没有名字的参数来定义函数的源代码是不可能的......