C++ 多态

我对多态的认识:

     用一句话概括就是,在基类的成员函数前加上virtual关键字,在派生类中重写相同的成员函数,运行时会根据实际类型调用相应的函数。如果对象类型是派生类,就调用派生类的函数,如果是基类就会调用基类的函数。

多态的总结:

    1.用virtual声明的函数就叫虚函数,虚函数肯定是成员函数。
    2.存在虚函数的类都有一个一维的虚函数表叫做虚表,类的对象有一个指向虚表开始的虚指针。虚表是和类对应的,虚指针适合对象对应的。
    3.多态性是一个接口多种实现,是面向对象的核心,分为类的多态性和函数多态性。
    4.多态用虚函数来实现,结合动态绑定。
    5.纯虚函数:虚函数=0;
    6.抽象类是指包含至少一个纯虚函数的类。
    纯虚函数 virtual void fun()=0;

实现运行时的多态的条件:

    1.基类和派生类为公有继承
    2.基类函数使用virtual声明
    3.通过基类指针或者引用调用虚函数。
    派生类的虚函数重写或者覆盖了基类的同名函数。

非类的成员函数,类的静态成员函数,类的够着函数不能为虚函数,析构函数可以为虚函数。将基类的析构函数定义为虚函数后,通过基类的指针删除指向派生类的动态对象时,系统会调用相应的类的析构函数,如果不将基类的析构函数定义为虚函数,则只会调用基类的析构函数。

抽象类:

    含有纯虚函数的类叫做抽象类。
    抽象类不能实例化,但是可以声明抽象类的指针或者引用。通过抽象类的指针或者引用指向不同的子类对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值