有没有区别:
struct B {...};
struct D : B {...};
和:
struct B {...};
struct D : public B {...};
如果不是,为什么包括标准在内的每个人都使用更详细的第二变体?
有没有区别:
struct B {...};
struct D : B {...};
和:
struct B {...};
struct D : public B {...};
如果不是,为什么包括标准在内的每个人都使用更详细的第二变体?
不,因为对于结构,默认访问说明符和默认继承类型都是public
. 说到这一点,类的默认访问说明符是,这是在声明类型的上下文中和C++private
之间的唯一区别。struct
class
至于“为什么”——可能是因为它更明确一点,不需要记住和之间的class
区别struct
。
不,两者完全一样。而且我不确定每个人都使用第二种变体。例如,我不知道。该标准也没有在任何地方使用它。例如,在 C++11 §3.8 中,我们看到:
struct D1 : B { void f(); };
另一方面,明确意味着不知道规则的人可以理解代码。