1.0 C++远征:为什么继承

2-1为什么继承

1.Worker继承自Person,新增方法work()和成员m_iSalary:

继承1.png
// 继承
class Worker : public Person
{
public:
    void work();
    int m_iSalary;
}

2.继承方式

(1)公有继承

class A : public B

Tips:
可以通过本类中的public下的成员函数访问protected和private中的数据成员;
不涉及继承的时候protected和private是一样的;
公有继承的时候,原类中的public放到新类的public中,原类的protected放到新类的protected中,而原类的privat将会放到新类的不可见位置,是禁止访问的;
在公有继承中:基类的Proteced类似于非继承形式下的private。 可以通过成员函数进行调用Protected中的数据成员。基类中的Private不会继承到派生类的Private下。注意:他继承到了一个隐藏的地方。即派生类不能访问基类的Private。
Table:
基类成员访问属性 继承方式 派生类成员访问属性
private成员 public 无法访问
protected成员 public protected
public成员 public public

(2)保护继承

class A : protectd B

Tips:
保护继承的时候,基类中的protected和public都将作为派生类的protected,基类中的private将会在派生类中不可见,无法访问
Table:
基类成员访问属性 继承方式 派生类成员访问属性
private成员 protected 无法访问
protected成员 protected protected
public成员 protected protected

(3)私有继承

class A : private B

Tips:
私有继承的时候,基类中的protected和public都将作为派生类的private,基类中的private将会在派生类中不可见,无法访问
私有继承是has a(是一种包含关系)
Table:
基类成员访问属性 继承方式 派生类成员访问属性
private成员 private 无法访问
protected成员 private private
public成员 private private
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,874评论 18 399
  • **2014真题Directions:Read the following text. Choose the be...
    又是夜半惊坐起阅读 10,150评论 0 23
  • 大家可能注意到有些tableView的顶部图片,会随着你拉伸而跟着拉伸变大。一种思路是将图片放置tableView...
    kamto阅读 915评论 0 1
  • 0127除夕 当吃饭的时候再次提起帮我安排实习的事情,明白的不是对方的想法,而是自己真的把自由看得比生命重要,如果...
    MinzeTeng阅读 226评论 0 0
  • 目标:完成经络的背诵,中药整理,药理整理,整个前期一个小的反思与回顾 结果:完成学习计划会很安心充实,反思可以帮助...
    高N少女阅读 131评论 0 0