有沒有辦法在C++中傳遞一個變量,其中該變量可能是幾個不同的變量之一(相同類型),具體取決於方法的調用方式。C++將未知名稱的變量傳遞給方法
例如:
一種方法來檢查文件是否存在正確的名稱。
在程序中的一個點,我可能要檢查用戶的文件存在,所以用戶輸入自己的用戶名到字符串變量名,並傳遞給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,而不必有不同的Chec kFile方法爲每個文件名被檢查?
這兩個函數都完全相同。 – chris
您對參數如何傳遞給方法和函數有一個基本的誤解。 – Jesper
參數名稱與您傳遞給它的變量的名稱完全無關。具有*語言參數程序的要點是你可以向它們傳遞不同的東西。 – molbdnilo