C++中虚函数和纯虚函数的概念、用途和区别

虚函数:在基类中使用关键字 virtual 声明的函数,允许被其派生类重写。虚函数的主要用途是实现多态性。当通过基类指针或引用调用一个虚函数时,C++运行时会根据对象的实际类型调用相应的函数,这称为动态绑定或晚绑定。

纯虚函数:在基类中声明为 virtual 但在声明中以 = 0 结尾的函数。纯虚函数使得基类成为抽象类,这意味着不能直接实例化这样的类。纯虚函数的主要目的是强制派生类实现该函数,提供一个接口以供派生类覆盖。

区别:

虚函数在基类中可以有默认的实现,而纯虚函数在基类中没有实现,必须由派生类提供实现。

包含纯虚函数的类是抽象类,不能被实例化,而包含虚函数的类可以被直接实例化。

纯虚函数主要用于接口规范,强制派生类遵循某种协议。

相关推荐
c2385621 分钟前
《枚举算法 “翻译官”:用 enum class 给 “游游的礼盒” 算分》
c语言·c++·算法
noipp28 分钟前
推荐题目:洛谷 P5843 [SCOI2012] Blinker 的噩梦
c语言·数据结构·c++·算法·游戏·洛谷·luogu
鱼子星_1 小时前
《算 · 法》题目解析篇(1):最近公共祖先问题,线段树,最长回文子序列
c++·算法·动态规划·递归
计算机内卷的N天2 小时前
CMake与Visual Studio的使用
c++·ide·visual studio
汉克老师3 小时前
GESP2026年3月认证C++七级( 第三部分编程题(1、物流网络))精讲
c++·最短路·gesp7级
鱼子星_3 小时前
【C++】深入剖析list:list及其双向迭代器实现
开发语言·数据结构·c++·笔记·stl·list
tudousisi2223 小时前
P4667 [BalticOI 2011] Switch the Lamp On复盘
c++
江屿风4 小时前
【C++笔记】【二叉搜索树】流食般投喂
开发语言·数据结构·c++·笔记
海绵天哥5 小时前
LeetCode Hot 100 | 链表(下)· 分组翻转与设计(C++ 题解)
c++·leetcode·链表