C++多态中的动态多态:虚函数(前置要求:掌握C++基本语法)

概念(复习用)

什么是多态

多态:在面向对象编程中,一种接口(函数)的多种实现(函数内容,作用域)即为多态;多态分静态和动态;静态是指在编译时就可以确定选择哪种实现,动态是运行时才确定选择哪种实现;
静态有函数重载和泛型编程,如add()根据数据类型重载,在编译时就能选好哪一个;动态是虚函数,比如父类和子类中有同名函数delete_data(),在运行时通过基类指针指向的不同对象来选择到底调用哪个;
C++谈多态一般指动态的多态;

什么是虚函数

虚函数:定义函数时在最前面加上virtua关键字;就定义了一个虚函数;
注意:
1、虚函数只能是类中的非静态成员函数,也就是普通成员函数和析构函数;
2、不能是构造函数,但可以是析构函数;

怎么实现(多态)多态

C++用虚函数来实现,在父类中定义虚函数,子类中重写,运行时根据对象的实际数据类型来调用相应函数,如果对象类型是基类,则调用基类的虚函数,反之调用子类的虚函数;
三个条件:
1、前提:有子类有继承;
2、在子类中必须对基类的虚函数进行重写;
3、必须通过基类指针指向子类对象或者基类引用子类对象;
怎么理解:
1、有继承才有一个函数名在父、子类中不同的实现,才能谈多态;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值