我沒有想出一個更好的問題標題。現在讓我更好地解釋它:如何覆蓋嵌套的C++對象方法?
我正在開發的項目將連接到遠程服務器,加密會話併發送/接收數據包。 我想使它足夠模塊化,所以我認爲使用3個不同的類會很好。這些將是:
1)一個套接字包裝類與一些虛擬方法,如OnReceivedData()和OnConnected()。
2)套接字封裝器的繼承類,在數據發送和解密數據到達之前實現數據加密。 3)主對象本身應該根據需要加密或不加密的方式覆蓋上述任何一個類,因此它也可以接收OnReceivedData()和OnConnected()事件通知,並根據它。
所以問題是如何讓我的程序知道它必須首先調用加密對象上的事件,然後在主對象上調用相同的事件?因爲我猜如果我用加密重寫套接字包裝,然後用主對象覆蓋加密,它可能只是調用主對象方法(它會直接在主對象上調用OnReceivedData(),而不是通過解密對象第一,對吧?)。
這是否稱爲多重繼承?
順便說一句,如果你認爲這是一個糟糕的項目設計,我將不勝感激任何更好的方法。 感謝您花時間閱讀本文。
我的建議是嘗試使用設計模式,例如'Builder'或'Factory'模式。 – 2010-04-07 20:39:03