重载、成员函数的覆盖、成员函数的隐藏
● 重载。
重载主要运算包括运算符重载和函数重载。
函数重载通常用来命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对程序的可读性有很大的好处。
运算符重载主要是对已有的运算符赋予多重含义,使同一种运算符作用于不同类型的数据时导致不同的行为。三目运算符不能重载。
比如:实现复数的相加,复数的和是实数和实数相加,虚数和虚数的相加。
可以将“+”重载为成员函数,然后实现两个复数类对象的相加。
函数重载是通过其参数个数和类型的不同来实现不同的操作。
● 成员函数的覆盖:
覆盖是指在派生类中成员函数覆盖了基类中的同名函数,要求基类的同名函数必须是虚函数
且参数相同(类型和个数相同),返回类型相同。
● 成员函数的隐藏:
隐藏是指在某种情况下,派生类中成员函数屏蔽了基类中的同名函数,这种情况包括:
(1)两个函数参数相同,但基类函数不是虚函数。和覆盖的区别在于基类函数是否为虚函数。
(2)两个函数的参数不同,无论基类函数是否为虚函数,基类函数都会被屏蔽。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)