C++多态简介

一、多态基本认识

多态基本上可以分为两类:

关于静态多态其实我们并不陌生,比如类模板、重载这些都是静态多态,它们在程序编译时便已经确定,它们在运行便已经被确 定该如何运行调用。

2.运行时多态:即动态多态

其实我们经常说的多态一般是指动态多态,动态多态在编译时不确定如何调用执行,一直延迟到运行时才确定该如何调用执行,因此动态多态方法也会被称为延迟方法。

二、动态多态

1.在C++中动态多态是通过虚函数实现的,而虚函数允许子类对成员函数进行重定义,这种重定义父类成员函数的方式被称为重写。这里提到重写,就不得不提重载,重载是在一个类域里,函数名与被重载函数名相同,但参数类型或参数个数不同,因此在预处理阶编译器会生成两个或多个不同函数名的函数,因此与重写显著不同。

2.动态多态的作用:在C++中,封装是为了使代码模块,继承是为了扩充已实现的代码,总之它们都是为了代码复用。而多态是为了实现接口重用,也就是说,无论传过来的是哪个对象,函数都能调用适合自己对象的相应的方法。

3.函数隐藏:

 在派生类中,有一函数名与基类函数名相同,但函数的参数不同,此时,不管函数前是否有virtual关键字进行修饰,基类中的同名函数将被隐藏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值