二進制文件我有相似的情況下,以C++編寫,從多重繼承類
「死亡的金剛石」我有類B和C實際上繼承類A, 並且還類d其中繼承的類B和C.
A
/\
B C
\/
D
乙& C已繼承的成員,並且也自己的成員。 D只有繼承的成員。
我正在寫保存方法,獲取ofstream並應該將對象寫入二進制文件。
和一個Load方法,該方法獲取ifstream並應從二進制文件創建對象。
的方法是虛擬的,並寫在這樣一種方式,每個類的方法只能處理特定類成員負載&保存(並使用繼承類的方法的繼承成員的其餘部分)寫時
現在保存方法d,基本上我只需要做到:
B.save();
C.save();
顯然,這將導致A.save()被調用這兩次會導致被寫入文件兩次
我想像添加一個saveOnly方法到B和C將只保存其成員(而不是A)是愚蠢的東西
所以我想知道什麼是這種情況下的最佳實踐?
歡迎來到Stack Overflow。請花些時間閱讀[The Tour](http://stackoverflow.com/tour),並參閱[幫助中心](http://stackoverflow.com/help/asking)中的資料,瞭解您可以在這裏問。 –