2014-09-24 95 views
0

這看起來有點牽強附會,可能脫離主題(對不起,如果是),但我想知道它是否可行。C++從文件中運行代碼

我正在研究Q和A程序。

該文本文件在問題選項卡中排列答案換行樣式。

我的問題是這樣的:是否可以讀取答案作爲函數。

例如:

問題 - 幾點了?/Answer - getCurrentTime()

問題 - 今天是幾號? /然後程序,雖然字符串解析,知道這是一個沒有參數的函數,並調用函數getCurrentTime()或getCurrentDate()分別打印時間或日期。

+2

使用'的std :: map'映射字符串函數。 – Barmar 2014-09-24 16:40:55

+0

沿着@Barmar所說的話,有關於SO的問題解釋瞭如何做到這一點。 http://stackoverflow.com/questions/3113139/how-to-create-mapstring-classmethod-in-c-and-be-able-to-search-for-functi – CoryKramer 2014-09-24 16:41:55

回答

0

這是可能的使用一個函數指針數組。你只需要將所有的函數加載到數組中。你如何獲得正確的指數取決於你。唯一有用的方法是維護第二個數組,其中包含與函數數組中函數位置相同的函數名稱。然後搜索函數名稱數組並使用該數組中的索引訪問函數數組中的正確函數。如果你需要更好的解釋留言。這是非常深夜,我需要在早上工作。

Barmar的解決方案將工作,並且是更好的方式去做,但使用函數指針。

希望這有助於 dannyhut