• C++ 建设者继承


    微通道公用号CodingRush

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


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

    子类继承了哪些东西?

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

    子类构造原则

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


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

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

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

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

    调用父类构造函数

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

    參考链接

  • 相关阅读:
    C#设计模式(2)——简单工厂模式
    C#设计模式(1)——单例模式
    静态变量与静态方法
    在服务器操作系统上使用TeamViewer
    51 nod 1439 互质对(Moblus容斥)
    51 nod 1495 中国好区间
    51nod 1103 N的倍数(抽屉原理)
    51 nod 1427 文明 (并查集 + 树的直径)
    51nod 1486 大大走格子(容斥原理)
    hihocoder 1388 fft循环矩阵
  • 原文地址:https://www.cnblogs.com/yxwkf/p/5029546.html
Copyright © 2020-2023  润新知