继承和包括

joe*_*_04 3 c++ inheritance include

可以说我有2节课.一个是BaseClass一个DerivedClass,是一个派生类BaseClass.我需要能够在另一个文件中创建两个类的对象.通过使用#include语句将派生类包含在新文件中,我可以直接访问派生类,并间接访问基类(因为派生类将其包含在其文件中).使用这种间接"访问"基类的方法是否更好,或者将它直接包含在文件中的派生类中更好?

Nia*_*all 5

一般建议包括您使用的内容.

如果您正在编写API规范,并且该规范没有明确详细说明类的基本派生性质,那么对该关系的任何更改都可能会破坏您依赖的文件所使用的包含.

在这里也可以看到.

如果你确定BaseClass永远都是基础DerivedClass,那么可能几乎没有必要包括两者,但为了清楚起见,我会继续做,无论如何,它显示了你的意图.

  • 值得注意的是,对于包含警卫,多个包含同一文件的影响可能微乎其微. (2认同)