zoukankan      html  css  js  c++  java
  • c++中的继承

    我在码代码时发现了一些自认为很有用的干货很高心能够分享给大家呀

     没有犯过错误,只是学了一些理论上的知识,从不拿来用,怎样都不会有多么的深刻,也不会有多大的价值。

    没写过类的继承之前,一直都不知道protected属性和private属性的区别,仅仅是通过他的中文意思来理解 一个属性具有保护权限, 而另一个属性是私有的权限,那么这二者到底有什么区别呢???

    其实在没有继承的时候,这二者确乎是没啥区别的,但是当一个类被继承的时候,他的private属性是不会被继承的,而只有public和protected属性会被继承。所以与这些类不相关的外部类或者函数想要访问protected属性的变量或者函数都会被拒绝,而只有继承他的类或者继承了他的子类的孙子类才能访问这个属性的数据的权限。

    同样是在继承中,我一直分不清楚虚函数和纯虚函数的概念。查了一些资料发现了其中的区别。拥有纯虚函数的类被视为抽象类,是不能够被实例化的,只能够被继承,而虚函数就不同,每个类都可以有虚函数,被子类所继承的虚函数也可以在子类中以虚函数的方式来声明、重载,并且Google公司要求他们的员工写继承的函数的时候都必须加上virtual关键字,这样子就一目了然知道这个函数是被重载的了。

    其实上面的都是我查阅资料,对知识点的一些总结罢了,下面谈谈我对他们的理解吧

    protected属性顾名思义,是具有保护权限,那么可以理解为外人是不能侵犯这些属性的,那么什么人是外人呢,当然就是和我八竿子打不着关系的人啦,也就是不是我的子类或者孙子类,不是我的亲戚就是我的外人咯,一般这个属性都是用在继承上面,他的子类都可以继承父类的protected属性,但是不会继承父类的私有属性(也有一种说法是继承了私有属性,但是没有访问权限 反正最后效果一样)。

  • 相关阅读:
    整理之刷过的数据结构与算法题
    EM 算法求解高斯混合模型python实现
    C语言实现二叉树的基本操作
    scala 小结(一)
    Eclipse 配置运行Spark
    js替换字符串
    安装uni-ui
    判断当前时间的 时分 是否在一个时间段内
    vue 定时器实时刷新数据

  • 原文地址:https://www.cnblogs.com/xwmcc/p/10175727.html
Copyright © 2011-2022 走看看