C++ 多态 虚函数 纯虚函数 动态、静态转换

本文探讨了C++中的多态性,重点介绍了虚函数和纯虚函数的概念和作用。多态允许通过父类指针管理子类对象,简化代码维护。虚函数确保调用正确的子类覆盖函数,而虚析构函数防止内存泄漏。抽象基类含有纯虚函数,不能实例化,仅用作接口。子类必须实现纯虚函数,否则也将成为抽象类。多态虽带来便利,但也增加内存开销和运行时速度损失。
摘要由CSDN通过智能技术生成

多态:由父类指针统一操作子类对象

多态优点:由父类指针管理子类,可以照顾到未来代码(维护)。比如说添加一个新的子类,只需要重写函数,不必修改源代码

虚函数 :父类指针、引用调用正确的被覆盖的函数,此时成员函数需要声明成虚函数

注意:如果父类中的成员函数是虚函数,那么子类中重写这个函数默认为虚函数

父类指针、引用调用函数:1、查看基类中函数是否为虚函数2、不是的话调用父类成员函数,是的话查看指向,调用对应的对象


虚析构函数:如果有继承,父类中的析构函数必须是虚析构函数 (否则会造成内存泄漏)手动delete时用到


多态的影响:

1⃣️增加内存(类中有虚函数,每个对象默认增加一个指针->虚指针)

2⃣️减慢程序运行的速度(虚指针指向虚函数表,通过遍历虚表,寻址找到调用的对应函数)


抽象基类和纯虚函数ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值