【发布时间】:2014-01-27 14:01:30
【问题描述】:
c++ 中有没有办法将变量传递给方法,其中该变量可能是几个不同变量之一(相同类型),具体取决于调用方法的位置。
例如:
一种检查文件是否存在且名称正确的方法。
在程序的某一时刻,我可能想检查用户文件是否存在,因此用户将他们的用户名输入到字符串变量 username 中,并将其传递给 CheckFile:
bool LotterySystem::CheckFile(const std::string &USERNAME)
{
//if file exists, return false, else return true
FILE *fin = fopen((USERNAME + ".txt").c_str(), "r");
if (fin)
{
fclose(fin);
return false;
}
return true;
}
在另一点上,我可能想检查一个包含股票信息的文件是否存在,因此用户将他们希望检查的股票输入到字符串变量 stockType:
bool LotterySystem::CheckFile(const std::string &STOCKTYPE)
{
//if file exists, return false, else return true
FILE *fin = fopen((STOCKTYPE + ".txt").c_str(), "r");
if (fin)
{
fclose(fin);
return false;
}
return true;
}
有没有办法将具有任何名称的通用字符串变量传递给 CheckFile,而不必为要检查的每个文件名使用不同的 CheckFile 方法?
【问题讨论】:
-
这两个函数的作用完全相同。
-
您对如何将参数传递给方法和函数有一个根本性的误解。
-
参数名与你传递给它的变量名完全无关。在语言中拥有过程的主要目的是您可以向它们传递不同的东西。
-
你的编译器不懂英文
标签: c++ file variables methods