头文件-继承c++

Header file - Inheritance c++

本文关键字:c++ 继承 文件      更新时间:2023-10-16

我在c++方面的经验非常有限,所以如果我的问题是愚蠢的或初级的,我可以原谅。如下:

当用c++这样的语言进行更大的项目时,并且可能有很大的继承线,将每个派生类都包含在..中是正常的做法吗。。比如说,主文件。有没有办法绕过这一点,或者我错过了一些平庸的东西?

谢谢。

对于使用C++类的C++程序,它需要声明。如果类从基类继承,则需要这些声明来处理该类声明。这递归地应用:类的整个继承树是必需的。

如果继承图太深太宽(可能是由于多重继承(,以至于项目认为它是不可接受的,那么就必须对其进行重组。类可能能够使用聚合而不是继承。也就是说,而不是:

#include <widget.h>
class foo : public widget { ... };

可能有;

class widget; // "forward" declaration only; no #include needed
class foo { widget *pwidget; ...}

现在,只有实现foo的文件需要widget的完整声明;包含CCD_ 4的CCD_

但现在foo不再是widget的一种,这对代码组织产生了影响。foo通过创建一个对象并保存它的方式仍然具有widget部分。如果widget符合一些小部件的抽象接口,foo可能能够实现它,并委托给包含的widget

最小化依赖关系的另一个工具是依赖关系反转。