C++多态机制详解(多态实现原理,单继承和多继承时虚函数表,菱形继承时的虚函数表原理)

您所在的位置:网站首页 虚函数的实现原理是因为子类函数 C++多态机制详解(多态实现原理,单继承和多继承时虚函数表,菱形继承时的虚函数表原理)

C++多态机制详解(多态实现原理,单继承和多继承时虚函数表,菱形继承时的虚函数表原理)

2024-07-09 08:55| 来源: 网络整理| 查看: 265

文章目录 多态的定义多态的实现1.多态实现的两个必要条件2.什么是虚函数3.重写的条件4.多态实现代码5.重写的两个例外 C++11引入的final和override关键字重载,重写(覆盖),隐藏(重定义)抽象类接口继承和实现继承多态的原理1.虚函数表2.多态的实现原理 关于动态绑定与静态绑定单继承和多继承时的虚函数表单继承的虚函数表多继承的虚函数表 菱形继承的虚函数表菱形虚拟继承的虚函数表inline函数可以是虚函数静态成员函数不可以是虚函数构造函数不可以是虚函数析构函数作为虚函数的场景

在这里插入图片描述

C++面向对象三大特性之一,多态

多态的定义

多态就是多种形态。就是不同对象在完成同一种行为的时候结果不同。 一种情况是不同的对象,调用同一个函数,但是出现了不同的结果。

多态分为两种: 1.静态多态:函数重载(看起来调用的是一个函数但是传递不同的参数有不同的行为,比如cout的自动识别类型) 2.动态多态:用一个基类对象的引用或者指针去调用重写完成的虚函数,更具引用或指向的对象不同,出现不同的行为 静态:是指在编译阶段实现 动态:是指在程序运行阶段实现

多态的实现 1.多态实现的两个必要条件

1.必须是基类的引用或者指针调用 2.被调用的函数必须是虚函数,并且派生类对其完成了重写。

2.什么是虚函数

被virtual修饰的函数就是虚函数

class Student { public: virtual void func1() { cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3