2011-05-18 65 views
0

我想編寫一個支持幾種類型命令的程序。
爲了使它對後面的新命令具有通用性並且很容易擴展,我想爲每個命令(使用它自己的處理)編寫一個類,並使用處理函數調用基類的'command'類。
我知道,在Java中有一個類類來幫助這樣的事情 - 決定'流'上它正在處理的類的類型。
cpp有類似的機制嗎?如果是這樣,它是什麼,我如何使用它?
如果沒有,我可以做些什麼以保持它輕鬆擴展?cpp中的java-like類class

非常感謝。

回答

0

您可以使用RTTI,但我建議您找到另一種方法。

1

雖然你可以使用Class類決定在Java中的流動,這是更好地使用多態 - 它使階級對擴展開放無(固體的「O」),要求修改。

在C++中也是如此。你可以使用RTTI,但是虛擬方法允許你使用這些命令擴展這個類而不用修改它。

從「設計模式」 Gamma等人:

的關鍵,這種模式是一個抽象 指揮類,其中宣佈 接口,用於執行操作。在 其最簡單的形式這個接口 包括一個抽象的執行 操作。