为了账号安全,请及时绑定邮箱和手机立即绑定
  • 抽象类:含有纯虚函数的类 纯虚函数: virtual double function() = 0;
    查看全部
  • virtual关键字使用的限制: 1.不能使用普通的函数,只能是类的成员函数 2.不能使用于静态成员函数 3.不能使用于构造函数 4.不能适用于内联函数
    查看全部
  • 虚析构函数:用于解决 动态多态中 可能存在的内存泄漏问题
    查看全部
  • 动态多态中存在的问题是:内存泄漏
    查看全部
  • 封装:将数据与函数封装到一个类中 继承:继承关系是一种类间的关系(父类---子类; 基类--派生类) 多态:有了封装与继承之后才会有多态
    查看全部
    0 采集 收起 来源:[C++]虚函数

    2017-05-23

  • 函数重载,在很早的时候(编译的时)就知道具体使用哪个函数,这种称为 “早绑定”或称“静态多态”
    查看全部
    0 采集 收起 来源:[C++]虚函数

    2017-05-23

  • 覆盖:父类和子类定义了同名虚函数,在子类的虚函数表中,子类的虚函数地址就会把原来的父类的虚函数地址给覆盖了。 隐藏:父类和子类出现了同名函数,父类的同名函数将进行隐藏。
    查看全部
  • 在类中有动态内存(申请到了堆中)时, 一定要记得在基类中的析构函数要是 virtual 的, 否则若只delete 基类指针 ,那么只执行基类的析构函数 . 若基类析构函数加了 virtual 则 先执行 派生类的析构函数(堆中申请的内存被释放掉了,内存泄漏解决), 再执行基类的析构函数. 其实当 delete 派生类指针的时候 ,也是先执行派生类析构函数, 再执行基类析构函数. 但是你用派生类指针接受派生类对象, 那岂不是浪费了多态了嘛! 引用也是类似, 引用的析构函数赶在函数体结束的大括号之前} . 而且virtual 不能修饰 1. 普通函数 2. 构造函数 3. 内联函数(内联不再内联) 4. static 函数 2.
    查看全部
  • Flyable*p=new Bird(); cout<<typeid(p)<<endl;//打印出Flyable* cout<<typeid(*p)<<endl;//打印出Bird
    查看全部
  • 常见的异常
    查看全部
    0 采集 收起 来源:[C++]异常处理

    2017-05-14

  • 早绑定(静态多态),晚绑定(动态多态)
    查看全部
    0 采集 收起 来源:[C++]虚函数

    2017-05-13

  • RTTI:运行时类型识别 typeid(*obj).name()打印出obj这个指针指向的实际的对象类型 对类型进行比对:if{typeid(*obj)==typeid(Bird)} dynamic_cast< >转换类型,< >中是要转化成为的类型,例如:Bird *bird = dynamic_cast<Bird *>(obj);(obj)转化为Bird * 类型
    查看全部
    0 采集 收起 来源:[C++]RTTI

    2018-03-22

  • dynamic_cast注意事项: (1)只能用于指针和引用的转换 (2)要转换的类型中必须包含虚函数 (3)转换成功返回子类地址,失败返回NULL typeid注意事项: (1)type_id返回一个type_info对象的引用 (2)如果想通过基类的指针获得派生类的数据类型,基类必须带有虚函数 (3)只能获取对象的实际类型
    查看全部
    0 采集 收起 来源:[C++]RTTI

    2017-05-10

  • 静态多态 函数名一致 参数不同
    查看全部
    0 采集 收起 来源:[C++]虚函数

    2017-05-08

  • C++常见异常
    查看全部
    0 采集 收起 来源:[C++]异常处理

    2017-05-04

举报

0/150
提交
取消
课程须知
本课程是C++初级课程 1、熟练掌握C++语言基础语法
老师告诉你能学到什么?
1、虚函数、虚析构函数、纯虚函数 2、抽象类和接口类 3、运行时类别异常 4、异常处理

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!