c++ - 如果我在不同的类中包含一个基类,该基类的派生类是否也包含在内

标签 c++ class object inheritance

如果我在不同的类中包含一个基类,该基类的派生类是否也包含在内。如果我包含一个形状类,并且该类是派生类方形和圆形的基类,则方形和圆形将包含在该不同的类中。

我想这样做,所以如果我决定稍后添加另一个形状类(称之为菱形),它会更容易编写...

#include <shapes.h>

而不是...

#include <square.h>
#include <circle.h>
#include <triangle.h>

最佳答案

不,不会。

当你做 #include<a.h> , 预处理器在此处递归地内联 a.h 中的内容。

因此在您的情况下,您只会获得基类。

此外,这样做不是一个好主意(包括基类所在的 .h 并获取所有派生类)。

如果您这样做,也许有一天您只想创建一个从基类派生的类,您会包含所有根本未使用的派生类,从而增加代码大小。

关于c++ - 如果我在不同的类中包含一个基类,该基类的派生类是否也包含在内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44038447/

相关文章:

c++ - 如何在方法中使用 vector 和结构成员

java - 通过 Hashmap 对象处理值

c++ - Opengl 选择性 glClipPlane

c++ - 序列化 OpenCV Mat_<Vec3f>

c++ - std::vector 在 iOffset 位置更新 N 个值

java - 具有类型安全类参数的通用(非静态)方法,它是如何工作的?

python - 当类的属性包含 self 的实例时如何指定 numba jitclass

java - 初级 Java 面向对象编程

javascript - 如何在一个循环中迭代以比较javascript中的两个对象

java - 使用字符串列表动态创建对象?