【C++】继承

假设我们有一个对象person,里面的成员变量有个整型age,再创建一个对象student,成员变量是char类型的_name。

继承的意思就是在person的基础上,再添加其他的成员,不改变person的成员变量,在一个新的对象里,不仅包含了person的成员,也加上自己的成员变量,从而达到继承的效果。这里的person对象称之为“父类”,而student称之为“子类”。

我们可以理解为,儿子继承了爸爸的财产,再发扬光大,获得了爸爸没有的东西,当然,儿子也可以在某一地方选择低调,拥有而不显示。

想要做到继承,只需要在子类后加上“:+ public + 父类”即可,在初始化期间,自定义成员调用自己的构造函数,且在子类自定义析构时,不需要手动调用父类的析构函数,编译器为了保持后进先出的原则,在子类调用完析构函数后,会自己调用父类的析构函数。

 继承的权限方面,一个类有3种,public继承、protected继承和private继承。所以父子类一共有9种:

              子类        |        public        |        protected        |        private

父类

public                    |   子类public      |        protected        |        private

protected              |        protected   |        protected        |        private

private                  |        不可见       |        不可见            |        不可见

简单一点理解为,与const的权限类似,只能缩小不能放大,也就是public > protected > private,父类是私有的,子类也看不到,但是存在。

还有友元问题,在父类上友元了,子类上可以调用吗?答案是不可以的,就好比,爸爸的兄弟,儿子不可能也称兄道弟吧。所以无法调用,如果真的想要调用呢,那就让爸爸的兄弟和你做兄弟,在子类上也友元了,这样才能调用。

当然,还有多继承以及虚拟继承的问题,咱们下次再讲。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值