我在C++項目中遇到問題,我正在做一些工作。對於我缺乏C++ OOP知識,我提前表示歉意。C++繼承 - 將父母更改爲祖父母
我有一系列的課程,所有inheret從一個共同的父母,例如:
class child : public parent
{
public:
...
};
我的問題是,我需要修改父一個功能,以適應我的代碼;不幸的是(雖然我有權訪問源代碼)父類是由其他項目共享的,並且我的預期改變會導致會破壞其他人的代碼的副作用。但是,如果項目主管批准,我可以做出一些改變 - 而且如果沒有副作用(例如範圍),他通常會這樣做。
雖然很明顯我可以複製該原始父代,修改它並有效地分支代碼,但我確實不希望爲了可維護性目的而這麼做。
所以我的問題是否有可能讓原始父類充當祖父母,並創建一個覆蓋祖父函數的簡單單功能父類,並將我的代碼更改爲從新父母繼承 - 所有其他在新父母中沒有實施的呼叫被傳遞給祖父母?如果是這樣,我怎麼做(廣義上)?還是有更好的解決方案?或者我完全偏離軌道?
我希望這很清楚。感謝您的幫助,我正在用C++在黑暗中摸索。
是否有一個原因,你不能給孩子自己的版本的功能? – Mark
如果你想把這個功能放在父母身上,同時也擔心它會打破其他孩子,它應該暗示你,你試過的東西可能是特定的孩子......所以什麼阻止你只是提供這個功能孩子一個人,因爲馬克建議 – Madhusudhan
實際上有約30個孩子,我控制和需要更新的功能,(另外約100人左右寫其他人需要舊功能)。應該在問題中明確表示,對不起。 – Caligari