zoukankan      html  css  js  c++  java
  • c++ 类术语

    重载;重写;重定义;组合;继承;聚合;多态
    --------------------------------------------
    一《https://www.cnblogs.com/weizhixiang/articles/5760286.html》
    1 成员函数重载特征:
       a 相同的范围(在同一个类中)
       b 函数名字相同
       c 参数不同
       d virtual关键字可有可无
    2 重写(覆盖)是指派生类函数覆盖基类函数,特征是:
       a 不同的范围,分别位于基类和派生类中
       b 函数的名字相同
       c 参数相同
       d 基类函数必须有virtual关键字
    3 重定义(隐藏)是指派生类的函数屏蔽了与其同名的基类函数,规则如下:
       a 如果派生类的函数和基类的函数同名,但是参数不同,此时,不管有无virtual,基类的函数被隐藏。
       b 如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有vitual关键字,此时,基类的函数被隐藏。


    二:
    继承《https://www.cnblogs.com/dishengAndziyu/p/10914416.html》:
     
    c++支持多继承;有很多个爸爸
     
    生活中的继承是一种关系,发生在两个实体之间,最直接的例子是儿子继承了父亲的一切东西,包括长相、性格,龙生龙指的是特征的继承,这说明了日常生活中继承包含的第一个层面的意思就是特征上面的获取,老鼠儿子会打洞指的是行为的继承,这说明了日常生活中继承包含的第二个层面的意思就是行为上面的获取;综上所述,生活中的继承指的是特征和行为的获取;
     
    组合:
     

    将一个类的对象作为另一个类的成员,被称作组合或包含


    多态:《http://c.biancheng.net/view/264.html》------在不同的编程语言中多态对于重载,重写,重定义的包含关系界定并不一致;

    多态按字面的意思就是多种形态。当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态。

    C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数

    所谓“虚函数”,就是在声明时前面加了 virtual 关键字的成员函数。virtual 关键字只在类定义中的成员函数声明处使用,不能在类外部写成员函数体时使用。静态成员函数不能是虚函数。

    包含虚函数的类称为“多态类”。

    多态可以简单地理解为同一条函数调用语句能调用不同的函数;或者说,对不同对象发送同一消息,使得不同对象有各自不同的行为。

    虚函数

    虚函数 是在基类中使用关键字 virtual 声明的函数。在派生类中重新定义基类中定义的虚函数时,会告诉编译器不要静态链接到该函数。

    我们想要的是在程序中任意点可以根据所调用的对象类型来选择调用的函数,这种操作被称为动态链接,或后期绑定

    纯虚函数

    您可能想要在基类中定义虚函数,以便在派生类中重新定义该函数更好地适用于对象,但是您在基类中又不能对虚函数给出有意义的实现,这个时候就会用到纯虚函数。


    聚合:《https://blog.csdn.net/cpp_learner/article/details/103589334》

    简单来说就是在类里面定义其它类的对象(以指针形式定义),但是与组合有区别,组合里面定义的需要和总类对象共生死,聚合不会随着总类对象结束而消失

    组合:

    部分和整体之间具有相同的生命周期,当整体消亡后,部分也将消亡。就像大雁的翅膀和大雁是组合关系。代码实现时,部分类在整体类的构造函数中被构造,在析构函数中被析构

    聚合:

    部分与整体之间并没有相同的生命周期,整体消亡后部分可以独立存在。就像大雁和雁群是聚合关系。代码实现时,整体类中传入一个部分类的指针,部分类已经在整体类外被构造,因而在整体类析构的时候,部分类并没有被析构

    聚合与组合,生命周期的起点不一样,一个是伴生关系(组合),一个是各自出生后在聚在一起(聚合);

  • 相关阅读:
    “字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛
    Codeforces Beta Round 77 (Div. 2 Only)
    Codeforces Round 263(Div. 2)
    Codeforces Round 262 (Div. 2)
    《Introduction to Algorithm》-chaper30-多项式与快速傅里叶变换
    算法专题-STL篇
    算法专题-暴力枚举篇
    初等数论及其应用——中国剩余定理
    初等数论及其应用——费马小定理
    《A First Course in Probability》-chape4-离散型随机变量-几种典型分布列
  • 原文地址:https://www.cnblogs.com/8335IT/p/14864300.html
Copyright © 2011-2022 走看看