zoukankan      html  css  js  c++  java
  • 1.0 C++远征:为什么继承

    2-1为什么继承

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

    // 继承
    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
  • 相关阅读:
    PHP的反射机制
    mysqlbinlog
    PHP调用java的class
    ecshop session机制
    memory_limit session.cache_expire ecshop初始化注释说明
    ecshop运行超过30秒超时的限制解决办法
    如果你想拥有事业,而非仅仅是工作
    扎克伯格谈”人际交往”趋势
    Magento架构分析,Magento MVC 设计分析
    推荐的PHP编码规范
  • 原文地址:https://www.cnblogs.com/xiaoqingyang/p/6076963.html
Copyright © 2011-2022 走看看