c++ - 派生类的实例化是否为基类的私有(private)成员分配内存?

标签 c++

我想主题就是我需要问的全部内容。围绕该主题进行一些解释会很好。请清除一些问题,例如为什么或为什么不?

例子:

class A {
 private:
  int a;
};

class B : A {
 int b;
};

int main (int argc, char **argv) {
 B *p = new B(); // Does this allocate memory for a?
}

最佳答案

是的。类对象包含其所有直接非静态数据成员,以及任何基类子对象的数据成员。访问说明符没有区别;它们只是限制可以使用名称的地方。

关于c++ - 派生类的实例化是否为基类的私有(private)成员分配内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20859384/

相关文章:

c++ - QT - 拖动时的像素图人工制品

c++ - 如何在 Go 中使用 C++

c++ - 使用 `__DATE__` 或 `__TIME__` 是否违反单一定义规则?

c++ - Qt 窗口关闭时如何释放内存?

c++ - 使 QMenu 具有与父级相同的宽度(QPushButton)

c++ - 嵌套命名空间中的重复符号

c++ - 使用多个声明引用另一个类

c++ - 有没有办法做一个循环堆栈?

python - 将Python float 传递给C函数时,舍入模式不一致

c++ - 传递对象还是创建新对象?