c++ - 将 public 关键字与结构一起使用

标签 c++ inheritance struct access-modifiers

有区别吗:

struct B {...}; 
struct D : B {...};

和:

struct B {...};  
struct D : public B {...};

如果不是,为什么每个人(包括标准)都使用更冗长的第二个变体?

最佳答案

不,因为对于结构,默认访问说明符和默认继承类型都是 public .说到这一点,类的默认访问说明符是 private ,这是 struct 之间的唯一区别。和 class在声明类型的上下文中使用 C++。

至于“为什么”——可能是因为它更明确一点,不需要记住 class 之间的区别。和 struct在那件事上。

关于c++ - 将 public 关键字与结构一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11921862/

相关文章:

c++ - 我如何映射内存中的_特定_区域?

Java理解继承: getter and setter from parents class

struct - Swift 中变异函数的实例结构变量

将结构转换为可变长度缓冲区

c++ - 具有单继承的类的指针转换偏移

C++ lambda 运算符 ==

c++ - 如何使用 QPainter 或 QPainterPath 使用一个形状或一组连接的形状在 Qt 中绘制自定义形状

java - OOP 继承扩展

python - 如何通过类继承传递参数?

c++ - 从 Vector 中删除一个元素并将其余元素向下移动 - C++