关于继承的几个误区

 

1. c++有三种继承方式,public ,protected ,private ,无论哪一种继承,子类都会把父类的所有的成员变量和成员函数给继承下来,只是对于不同的继承方式,父类的成员在子类中的可访问性不同而已

 

2.对于三种继承来说,继承下来的成员在子类中的访问控制符发生了变化(这会影响到继承于该子类的子类)

2.1.public 继承:父类的public和protected成员作为子类的成员时,保持不变,而父类的private成员在子类中是不可访问的

2.2 private继承:父类的public和protected成员作为子类的private成员,而父类的private成员在子类中是不可访问的

2.3 protected继承:父类的public和protected成员作为子类的protected成员,而父类的private成员在子类中是不可访问的

 

2.4对于继承下来的private成员,虽然是不可以访问的,但是子类仍然可以调用父类的函数来访问它们

 

3.类中的一个成员可以是private,protected或public

3.1 如果一个成员是private,它的名字将只能由其声明所在类的成员函数和友元使用

3.2 如果一个成员是protected,它的名字只能由其声明所在类的成员函数和友元,以及由该类的派生类的成员函数和友元使用

3.3 如果一个成员是public,它的名字可以由任何函数使用

3.4 这种访问控制被一致性地用于所有的名字,一个名字引用的是什么并不影响对它的使用控制

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章