C++ 建设者继承[通俗易懂]

C++ 建设者继承

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

微通道公用号CodingRush

分享编程、算法、机器人leanring、数据挖掘、推荐系统、知识大数据计算框架,欢迎扫码关注。

微信公众号CodingRush,分享编程、算法、机器学习、数据挖掘、推荐系统、大数据计算框架等知识,欢迎扫码关注。

子类继承了哪些东西?

子类在继承父类的时候,父类的public成员变量和成员方法被子类所继承。可是父类的构造函数并没有被继承,事实上想想也就知道由于本来子类和父类就是不同名字的。而构造函数和类同名。所以构造函数是没有办法继承的。

子类构造原则

由于父类构造函数并没有被继承,因此在创建子类对象时。须要初始化父类的成员。也就是说须要调用父类的构造函数。

另外我们知道C++编译器会自己主动做非常多事情,比方说假设你未定义构造函数,编译器会生成默认构造函数。

假设在子类构造函数中没有显示调用父类构造函数,那么系统会默认调用父类的无參构造函数。。。
那么在不同的情况下,子类的构造遵从例如以下的原则:

  1. 若子类么有定义构造函数,那么编译器自己主动生成默认构造函数,而且在构造子类时自己主动调用父类的无參构造函数。
  2. 若子类自定义了构造函数,但没有显示的调用父类构造函数,那么在构造子类对象时。首先调用父类的无參构造函数,然后调用子类自己的构造函数。
  3. 若子类定义了构造函数,而且显示调用了父类的构造函数。那么则先调用父类指定的构造函数。然后调用子类的构造函数。

注意一些可能会出问题的情况,当中一个情况就是假设类中未定义构造函数。那么编译器是会生成默认构造函数的;假设用户自定义了不论什么一种构造函数,那么编译器将不会生成默认构造函数。

调用父类构造函数

调用父类构造函数的方式,有点相似于初始化成员列表,在定义子类构造函数时。使用“:”后调用父类构造函数。

參考链接

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116739.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 二叉树的非递归遍历

    二叉树的非递归遍历

    2022年1月29日
  • app抓包分析sign

    app抓包分析sign介绍:简单的app抓包分析sign一:准备工具jeborjadxorgdaandsoon首先抓包:点击登录抓取包:可以看见,这里直接抓到账户密码。我们可以通过DDMS查看日志信息:通过添加筛选,可以直接看到信息。我们在看看代码逻辑:对比一下,可以看到,是一样的,说明就是将一串密钥+我们的data数据,然后进行MD5加密得到的sign。后面的代码:应该是在做编码,这里得到正确的结果,就不用看他了。如果结果不正确,可以分析下这个代码的是在干什么,你也可以自己分

    2022年5月9日
  • SpringMVC框架理解

    SpringMVC框架理解1.Spring与Web环境集成1.1ApplicationContext应用上下文获取方式应用上下文对象是通过newClasspathXmlApplicationContext(spring配置文件)方式获取的,但是每次从容器中获得Bean时都要编写newClasspathXmlApplicationContext(spring配置文件),这样的弊端是配置文件加载多次,应用上下文对象创建多次。在Web项目中,可以使用ServletContextListener监听Web应用的启动,

    2022年6月22日
  • Python中的取整、取余运算「建议收藏」

    Python中的取整、取余运算「建议收藏」1.取整运算在Python中取整运算的运算符为//,且取整运算的取整为向下取整,不进行四舍五入例:9//4=2,即9对4取整等于2-9//-4=2,因为-9÷-4=2.25,取整为2那么问题来了,9//-4等于多少呢?9//-4=-3,因为9÷-4应该等于-2.25,那么对-2.25向下取整,应该为-3,而不是-2,所以9//-4=-3那么-9//4呢?-9÷4也应该等于-2.25,所以向下取整,得到-9//4=-3总结:9//4=2-9//-4=29//-4=-3-9//4=-3

    2022年5月18日
  • console.log详解

    console.log详解console.log方法用于在控制台输出信息。它可以接受一个或多个参数,将它们连接起来输出。console.log(‘HelloWorld’)//HelloWorldconsole.log(‘a’,’b’,’c’)//abcconsole.log方法会自动在每次输出的结尾,添加换行符。console.log(1);console.log(2);conso…

    2022年7月14日
  • serv-u搭建ftp服务器「建议收藏」

    serv-u搭建ftp服务器「建议收藏」搭建并使用步骤1:下载serv-u,安装;步骤2:按提示创建新的域;步骤3:按提示创建用户;步骤4:通过访问ftp://(本机ip)即可访问服务器。多用户管理+多文件夹=实现多服务器效果创建多个用户,并指向不同的文件夹,便可以给多种不同要求的人使用,看起来就像是部署了多个服务器一样。上传文件失败+乱码问题+解决方案问题:初始的ser-u设置可能会有部分文件上传失…

    2022年9月12日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号