我有一個命令設備的函數。該設備可用兩次,因此我需要兩個設備的相同功能。出於維護的原因,我不希望爲該功能編寫兩次(每個設備一個),因爲那樣我總是需要應用更改兩次。C++ howto使用相同的函數兩次,使用不同的名稱和變量名稱
這些函數在原理上是相同的,但應該對不同的變量起作用。是否有可能使用「變化」名稱來實例化此函數,類似於模板,但不包含類但名稱? 我嘗試提供一個示例。它應該看起來像這樣。
void function_x (int Var, double Vary, ...) {
int var3_x = getFunctionFromDatabase(var3_x);
double var2_x = getFunctionFromDatabase(var2_x);
// some operations
}
該功能由Device Handler類的兩個實例應用。 變量var1_x,var2_x和var3_x作爲var1_1,var1_2,var2_1 ...存儲在數據池中,但是每個設備都有一個「相同」變量。一個控制器通過這些變量和數據池命令這兩個設備。
這是可能以某種方式?
我希望問題得到解決;)。這是我的第一個問題:P。 在此先感謝您的幫助。
可能你需要函數指針。 –
這聽起來像你會更好地使用類來封裝你的(成員)變量var1,var2等,它也有助於避免代碼重用。你有什麼理由反對使用類嗎? –
我仍然不明白爲什麼你不能只調用function_x(var1,var2,var3),然後在其他三個變量上調用它們? – PlasmaHH