我在C++项目中遇到问题,我正在做一些工作。对于我缺乏C++ OOP知识,我提前表示歉意。C++继承 - 将父母更改为祖父母
我有一系列的课程,所有inheret从一个共同的父母,例如:
class child : public parent
{
public:
...
};
我的问题是,我需要修改父一个功能,以适应我的代码;不幸的是(虽然我有权访问源代码)父类是由其他项目共享的,并且我的预期改变会导致会破坏其他人的代码的副作用。但是,如果项目主管批准,我可以做出一些改变 - 而且如果没有副作用(例如范围),他通常会这样做。
虽然很明显我可以复制该原始父代,修改它并有效地分支代码,但我确实不希望为了可维护性目的而这么做。
所以我的问题是否有可能让原始父类充当祖父母,并创建一个覆盖祖父函数的简单单功能父类,并将我的代码更改为从新父母继承 - 所有其他在新父母中没有实施的呼叫被传递给祖父母?如果是这样,我怎么做(广义上)?还是有更好的解决方案?或者我完全偏离轨道?
我希望这很清楚。感谢您的帮助,我正在用C++在黑暗中摸索。
是否有一个原因,你不能给孩子自己的版本的功能? – Mark
如果你想把这个功能放在父母身上,同时也担心它会打破其他孩子,它应该暗示你,你试过的东西可能是特定的孩子......所以什么阻止你只是提供这个功能孩子一个人,因为马克建议 – Madhusudhan
实际上有约30个孩子,我控制和需要更新的功能,(另外约100人左右写其他人需要旧功能)。应该在问题中明确表示,对不起。 – Caligari