码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C++ 【多态】


    目录

    继承中要构成多态的条件(两个条件必须同时满足)

    多态注意事项

     多态的原理

    虚表指针

    多态的本质原理是:

    析构函数的重写

    C++11 override

    抽象类

    写一个函数打印虚表

    多继承

    多态常考题


    多态概念

    完成某个行为,不同的对象去完成时会产生出不同的状态,称为多态。例如抢红包场景,不同的用户抢到金额大小不一样的红包

    多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。

    继承中要构成多态的条件(两个条件必须同时满足)

    1. 派生类必须对基类的虚函数进行重写

    (重写的条件是:被调用的函数必须是虚函数、还有函数名,返回值,参数必须相同才能构成虚函数,不符合重写就是隐藏关系,既不构成多态)

    重载:两个函数在同一作用域、参数/函数名相同

    重写(覆盖):两个函数分别在基类和派生类的作用域、参数/函数名/返回值必须相同、必须是虚函数

    重定义(隐藏):函数名相同、两个函数分别在基类和派生类的作用域、不是重写就是重定义

    2. 必须通过基类的指针或者引用调用虚函数

    1. 不同人买票不同价格:
    2. class Person
    3. {
    4. public:
    5. virtual void BuyTicket()
    6. {
    7. cout << "全价" << endl;
    8. }
    9. };
    10. class Student :public Person
    11. {
    12. public:
    13. virtual void BuyTicket()//虚函数+三同,就是虚函数的重写/覆盖条件
    14. {
    15. cout << "半价" << endl;
    16. }
    17. };
    18. class Soldier :public Person
    19. {
    20. public:
    21. virtual void BuyTicket()
    22. {
    23. cout << "免费" << endl;
    24. }
    25. };
    26. void fun(Person& p)//必须通过基类的指针或者引用调用虚函数
  • 相关阅读:
    济南大学计算机考研资料汇总
    Python每日一练(牛客新题库)——第25天:面向对象
    一文带你快速了解Python史上最快Web框架
    springboot整合搭建webservice项目
    区块链9999999666666
    算法基础:堆【以大根堆为例】
    C/C++使用Windows的API实现共享内存以及同步
    卧槽,2行代码,让接口性能提升10倍
    简单对比一下 C 与 Go 两种语言
    《现代命令行工具指南》9. 删除文件:让删除文件变得安全可控 - trash-cli
  • 原文地址:https://blog.csdn.net/weixin_63543274/article/details/127716643
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号