为了账号安全,请及时绑定邮箱和手机立即绑定
  • RTTI:运行时类型识别 typeid(*obj).name()打印出obj这个指针指向的实际的对象类型 对类型进行比对:if{typeid(*obj)==typeid(Bird)} dynamic_cast<  >转换类型,< >中是要转化成为的类型,例如:Bird *bird = dynamic_cast<Bird *>(obj);(obj)转化为Bird * 类型 dynamic_cast用法的注意事项:只能应用于指针和引用之间的转换,即< >中只能是某一类型的指针或者是某一类型的引用;要转换的类型中,必须包含虚函数;转换成功返回子类的地址,失败返回NULL typied的注意事项:type_id 返回一个type_info对象的引用;如果想通过基类的指针获得派生类的数据类型,基类必须带有虚函数;只能获取对象的实际类型;更多关于dynamic_cast知识详见https://blog.csdn.net/pngynghay/article/details/42679791

    查看全部
    0 采集 收起 来源:[C++]RTTI

    2021-01-08

  • 1、接口类:仅含有纯虚函数的类,类中无数据成员,只有成员函数,且都为纯虚函数;

    2、接口类更多地表达一种能力或者协议;

    如:void flyMatch(Flyable *a,Flyable *b)//飞行比赛
    //要求传入一个会飞对象的指针,此时鸟类(公有继承能飞类)的对象指针可以传入进来
    {
        ....
        a->takeoff();
        b->takeoff();
        a->land();
        b->land();

    查看全部
    0 采集 收起 来源:[C++]接口类

    2021-01-08

  • http://img1.sycdn.imooc.com//5ff80cff0001234109780448.jpg

    http://img1.sycdn.imooc.com//5ff80d6100017ea709070309.jpg

    1、抽象类无法实例化对象; http://img1.sycdn.imooc.com//5ff80dc80001d80a07750397.jpg

    2、抽象类的子类也可以是抽象类;

    http://img1.sycdn.imooc.com//5ff80e060001d16509230383.jpg

    查看全部
  • 虚函数使用限制:1、普通函数不能是虚函数,必须是成员函数;http://img1.sycdn.imooc.com//5ff7cb940001db8f09570377.jpg

    2、 静态成员函数不能是虚函数(static)http://img1.sycdn.imooc.com//5ff7cba10001b52509590430.jpg

    3、内联函数不能是虚函数(inline)http://img1.sycdn.imooc.com//5ff7cbaa0001755e08520517.jpg

    4、构造函数不能为虚函数

    http://img1.sycdn.imooc.com//5ff7cbc30001eb5908470481.jpg

    查看全部

举报

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

微信扫码,参与3人拼团

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

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