为了账号安全,请及时绑定邮箱和手机立即绑定
  • 使用多态时,释放父类指针时,可能造成内存泄漏,可以使用虚析构函数 virtual ~Person() 虚析构函数不能用于:普通函数,静态函数,内联函数,构造函数。 建议在每个析构函数中都用虚析构函数,防止以后继承和使用多态造成内存泄漏
    查看全部
  • 多态 Shape *p=new Circle; p->calcArea(); 如果父类方法不加virtual,则指针调用父类的方法 父类方法加virtual,指针调用子类的方法(子类virtual关键字系统会默认添加)
    查看全部
  • 使用RTTI技术时,需要使用#include<typeinfo>
    查看全部
    0 采集 收起 来源:巩固练习

    2018-03-22

  • 继承关系不是RTTI的充分条件,只是必要条件,所以存在继承关系的类不一定可以用RTTI技术。 RTTI技术可以通过父类指针识别其所指向对象的真实数据类型。 运行时类型识别必须建立在虚函数的基础上,否则无须RTTI技术。
    查看全部
    0 采集 收起 来源:练习题

    2016-09-01

  • dynamic cast转换时需要转换多态类型的,需要含有虚函数
    查看全部
  • typeid的注意事项: 1.type_id返回一个type_info对象的引用。 2.如果想通过基类的指针获得派生类的数据类型,基类必须带有虚函数。 3.只能获取对象的实际类型。即便类含有虚函数,只能判断当前对象是基类还是子类,不能判断指针
    查看全部
    0 采集 收起 来源:[C++]RTTI

    2016-09-01

  • dynamic_cast注意事项:只能应用于指针和引用的转换,转换的类型必须是某个类型的指针或引用而不能是其本身 要转换的类型中必须包含虚函数。 转换成功返回子类的地址,失败则返回NULL
    查看全部
    0 采集 收起 来源:[C++]RTTI

    2016-09-01

  • 通过typeid(*obj).name()可以将obj实际指向的对象打印出来 或者 类型比对:typeid(*obj)==typeid(Bird),然后通过dynamic cast方式将obj转化为bird的指针,dynamic_cast<要转化的指针类型>(obj)
    查看全部
    0 采集 收起 来源:[C++]RTTI

    2018-03-22

  • RTTI:运行时类型识别,Run-Time Type Identification typeid<->dynamic cast
    查看全部
    0 采集 收起 来源:[C++]RTTI

    2018-03-22

  • 接口类中仅有纯虚函数,不能含有其它函数, 可以使用接口类指针指向其子类对象,并调用子类对象中实现的接口类中纯虚函数。 一个类可以继承一个接口类,也可以继承多个接口类。 一个类可以继承接口类的同时也继承非接口类。 函数传参时,可以传入参数类型的子类和本身
    查看全部
    0 采集 收起 来源:练习题

    2016-09-01

  • 接口类:仅含有纯虚函数的类,没有数据成员,仅有纯虚函数的成员函数 接口类更多地表达一种能力或协议
    查看全部
    0 采集 收起 来源:[C++]接口类

    2016-09-01

  • 只有函数声明没有函数定义的虚函数是纯虚函数 含有纯虚函数的类不能实例化 抽象类的子类也可以是抽象类
    查看全部
    0 采集 收起 来源:练习题

    2016-09-01

  • 当父类是抽象类,子类中没有重载父类中的函数,当继承自父类时,也是抽象类
    查看全部
  • 含有纯虚函数的类叫抽象类,抽象类无法实例化对象
    查看全部
  • 纯虚函数在虚函数表中的实现原理:虚函数表中,纯虚函数的值为0
    查看全部

举报

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

微信扫码,参与3人拼团

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

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