C++核心编程(二十四)多态的分类,区别,和使用条件,使用方法

(1)多态的分类
多态分为两种:
1)静态多态:函数重载和运算符重载属于静态多态,复用函数名
2)动态多态:派生类和虚函数实现运行时多态
(2)静态多态和动态多态的区别:
1)静态多态的函数地中早绑定,编译阶段确定函数地址
2)动态多态的函数地址晚绑定,运行阶段确定函数地址

(3)父类对象的指针(或者引用)=子类对象的指针(或子类对象)//允许这样使用

(4)动态多态的满足条件:
1)继承关系
2)子类重写父类的虚函数

PS:静态多态和动态多态的场景不是由指针或者引用来区别,决定它是动态还是静态的根本原因,根本原因是:模板,宏,重载,重写。

动态多态的使用
1)用父类的指针(或引用)=子类的指针(或子类对象)

#include<iostream>
using namespace std;
class animal
{
   
public:
    void print1();
    virtual void print2();
};
class 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值