C++学习日记1——多态篇的虚函数

本文详细介绍了C++中的多态性,重点关注虚函数和虚析构函数。讨论了虚函数如何解决基类指针调用派生类对象成员函数的问题,以及虚析构函数在防止内存泄漏中的作用。此外,还阐述了虚函数的声明、继承和覆盖原则,以及虚函数表和对象大小等相关概念。
摘要由CSDN通过智能技术生成

多态性

多态类型:具有继承关系的多个类型

知识点1:虚函数(virtual  函数名();)——解决“如果你以一个基类指针指向一个派生类对象,那么通过该指针,你只能访问基础类定义的成员函数”此问题。

原因:如果你以一个基类指针指向一个派生类对象,那么通过该指针,你只能访问基础类定义的成员函数;如果以派生类指针指向基类对象,这种做法相当危险,一般不会这么定义


知识点2:同名成员函数——如果基类和派生类定义了相同的成员函数,那么对象指针调用成员函数时,到底调用的是哪个成员函数,最终取决于这个指针的原型,而不是指向的对象类型,不过虚函数可以解决此问题,可以在“一个基类指针指向一个派生类对象”的情况下,调用派生类对象的同名成员函数


知识点3:虚析构函数(virtual ~类名();)——解决在动态多态中,内存泄漏的问题


知识点4:virtual限制用法——不能修饰类外申明并定义的函数(全局函数),即只能修饰类内申明并定义的函数(通常在申明时修饰即可);virtual不能修饰类内的静态成员函数&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值