如果我有一個Container
類,它持有一堆Component
對象(類似於Java的UI框架),那麼跟蹤每個Component
中的父親Container
的風格/練習是不是很差?使用共依賴類是不好的做法嗎?
這最終導致一些奇怪的編譯器問題,因爲Component
包含Container
的頭文件,反之亦然。即使有一個頭文件保護修復,我最終不得不在Container
首部的開頭聲明一個原型class Component;
,並且類似地對於Component
。
好像你必須要經過相當多的麻煩讓兩個類之間的雙向互動。尋求解決共存依賴「解決」的問題的另一種解決方案,還是C++期望的這種複雜的實現方式,我應該吸取它?
編輯:也許一些背景/推理會有所幫助。我使用這種協同依賴的原因是因爲我需要在調用子進程的析構函數時通知父進程(因此可以從子進程列表中刪除它),並且還需要獲取子進程的位置是相對於父母的。
感謝,
Jengerer
我刪除的C代碼,因爲這的確是一個C++的問題。 – 2010-11-04 04:40:01
對我來說,GUI標籤也不是很合適 - 會讓Jengerer重新考慮這一點。 – 2010-11-04 04:46:35
好吧,'Component'和'Container'類是我用C++編寫的一個GUI。但我同意這不是所有必要的。 – Jengerer 2010-11-04 04:48:08