如何理解C++当中的继承


演示代码的运行环境:VS 2017

· 继承的基础知识
  • 概念
    继承机制是面向对象程序设计使代码可以复用的最重要的手。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。

  • 定义
    继承产生的新类称为派生类(子类),被继承的类称为父类(基类)。定义方式为class 类名:继承方式 基类类名
    其中继承方式有publicprotectedprivate三种,继承方式的不同会影响从基类继承过来的成员在派生类中的访问权限:

    1. 父类的private成员对子类不可见
    2. public继承不修改成员的访问权限
    3. protect继承会将父类的public成员变为子类的protect成员
    4. private继承会将所有继承过来的成员变为private访问
    5. protected成员在类外不可见
      可以看出,protected访问是专为继承而设计的,而在实际应用中,我们常使用public继承,这样保证了父类的public方法子类也可以使用。

    下面举一个例子简单感受一下继承

    class Biology {
         
    public:
    	bool IsAlive;
    protected:
    	bool haveEat;
    private:
    	std::string breed;
    };
    class People : public Biology{
         
    	People() {
         
    		IsAlive = true;
    		haveEat = false;
    		//breed为 Biology的 private成员不可访问
    		//breed = "people";
    	}
    protected:
    	std::string name;
    };
    

    能够被子类继承而不想被外界访问的使用protect,如例子中的 “吃了没” 成员,不能被子类继承的使用private,如例子中的 “物种类别” 成员。这体现了C++的封装特性。

· 基类和派生类对象之间的交互
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值