为了账号安全,请及时绑定邮箱和手机立即绑定
  • delete shape; 先执行子类的析构函数,再执行父类的析构函数
    查看全部
  • 编译器在执行过程中遇到virtual关键字,会建立一张虚函数表,同时在每个带有虚函数的类中放置指向虚函数表的指针v_ptr. 实例化带有虚函数类的对象时,为v_ptr分配内存,并置于对象的起始地址. shape(父类)的指针指向Circle(子类)的对象,通过Circle的v_ptr指针找到Circle的虚函数表,从而找到Circle的虚函数的函数地址.
    查看全部
  • 接口类
    查看全部
    0 采集 收起 来源:[C++]接口类

    2017-03-19

  • 抽象类不允许实例化
    查看全部
  • 抽象类
    查看全部
  • typeid注意事项 2.若不带有虚函数,则只能返回定义时所使用的数据类型 3.即便这个类含有虚函数,也只能判断当前对象是基类还是子类,没有办法判断当前指针是基类还是子类
    查看全部
    0 采集 收起 来源:[C++]RTTI

    2017-03-18

  • if(typeid(*obj)==typeid(Bird)) { Bird *dynamic_case<Bird *>(obj); bird->foraging(); }
    查看全部
    0 采集 收起 来源:[C++]RTTI

    2018-03-22

  • A 只有函数声明没有函数定义的虚函数是纯虚函数。 B 含有纯虚函数的类叫做抽象类。 C 不可以使用含有纯虚函数的类实例化对象。 D 抽象类的子类也可以是抽象类。
    查看全部
    1 采集 收起 来源:练习题

    2017-03-18

  • typeid(*obj).name()
    查看全部
    0 采集 收起 来源:[C++]RTTI

    2017-03-18

  • 仅含有纯虚函数的类称为接口类。没有数据成员,只有成员函数,且成员函数都是纯虚函数。 接口类似一种协议或者能力。 想实例化子类,需要在子类中实现继承来的接口类。
    查看全部
    0 采集 收起 来源:[C++]接口类

    2017-03-18

  • 虚函数:virtual double calcArea(){return 0;}<br> 纯虚函数:virtual double calcPerimeter() = 0; 纯虚函数在虚函数表中直接写为0,包含纯虚函数的类,就是抽象类。 纯虚函数无法调用,所以抽象类无法实例化对象 抽象类的子类也有可能是抽象类。抽象类的子类只有把抽象类当中的所有纯虚函数都做了实现,子类才可以实例化对象。 抽象基类是本类族的公共接口,例如可通过抽象基类的指针访问到任何子类的虚函数,并对这些函数下达同一命令,从而实现多态性。 若是子类并没有对父类中的纯虚函数进行定义,则该子类仍然是抽象基类。
    查看全部
  • A 在C++中多态的实现是通过虚函数表实现的 B 当类中仅含有虚析构函数,不含其它虚函数时,也会产生虚函数表 C 每个类只有一份虚函数表,所有该类的对象共用同一张虚函数表 D 两张虚函数表中的函数指针可能指向同一个函数。
    查看全部
    0 采集 收起 来源:练习题

    2017-03-18

  • 抽象类 抽象类不容许实例化对象 抽象类的子类也可能时抽象类
    查看全部
  • 1. delete释放指针时: 若delete后面是父类对象,则只会执行父类的析构函数; 若delete后面是子类对象,则会先执行子类的析构函数在执行父类的析构函数。 针对上面的情况,若父类指针p1指向派生类对象,恰好派生类中存在指针成员p2且在派生类的构造函数中对此指针p2进行了new运算申请了内存空间,那么在进行delete p1时,就有可能造成内存泄露(p2的空间没有释放)。因此,引入虚析构函数——先析构派生类再析构父类。 2. 虚不是所有函数都能“虚的”: 内联函数不能是虚函数, 静态函数不能是虚函数, 构造函数不能是虚函数, 不是类的成员函数不能是虚函数,即普通函数不能是虚函数
    查看全部
  • 1. 每个类的头文件中都加上宏定义,防止出现类重定义现象 2. 子类继承父类的时候,也要把父类本身的头文件加上
    查看全部

举报

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

微信扫码,参与3人拼团

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

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