默认继承保护级别

来源:互联网 发布:商派 b2b2c商城源码 编辑:程序博客网 时间:2024/04/29 21:31


有一种常见的误解认为用struct保留字定义的类与用class定义的类有很大的区别。唯一的不同只是默认的成员保护级别和默认的派生保护级别,没有其他的区别。

1. 用class定义的类,默认的成员访问级别为private。struct定义的类成员默认访问级别是public。

2. 使用class关键字定义的派生类默认具有private继承,而用struct关键字定义的类默认具有public继承:

  class Base {/*....*/};

  struct D1 : Base {/*....*/};     //public inheritance by default

  class D2 : Base {/*....*/};       //private inheritance by default

3.尽管私有继承在使用 class 保留字时是默认情况,但这在实践中相对罕见。因为私有继承是如此罕见,通常显式指定 private 是比依赖于默认更好的办法。显式
指定可清楚指出想要私有继承而不是一时疏忽。

0 0
原创粉丝点击