【C++小小知识点】重载、覆盖(重写)、隐藏(重定义)的对比【详解】(23)

简介: 【C++小小知识点】重载、覆盖(重写)、隐藏(重定义)的对比【详解】(23)

前言

大家好吖,欢迎来到 YY 滴C++系列 ,热烈欢迎! 本章主要内容面向接触过C++的老铁

主要内容含:

目录

重载(overload)

  • 指在同一个类中,可以定义多个同名方法,但是参数列表必须不同。在调用时根据传入的参数类型或数量来确定调用哪个方法。

覆盖(重写,override)

  • 在继承中应用
  • 指子类重新定义父类中的同名方法,参数列表和返回类型必须一致。在运行时根据对象的实际类型来确定调用哪个方法。

隐藏(重定义,hide)

  • 在继承中应用
  • 指子类中定义了一个与父类中同名的方法,但是参数列表和返回类型可以不同。在调用时根据引用类型来确定调用哪个方法。

总结:

  • 重载是方法名相同,参数列表不同;覆盖是方法名和参数列表都相同,但是在子类中重新定义;隐藏是方法名相同,但是参数列表和返回类型可以不同。

相关文章
|
1月前
|
编译器 C++
C++进阶之路:何为运算符重载、赋值运算符重载与前后置++重载(类与对象_中篇)
C++进阶之路:何为运算符重载、赋值运算符重载与前后置++重载(类与对象_中篇)
32 1
|
20天前
|
存储 C++
【C++】string类的使用③(非成员函数重载Non-member function overloads)
这篇文章探讨了C++中`std::string`的`replace`和`swap`函数以及非成员函数重载。`replace`提供了多种方式替换字符串中的部分内容,包括使用字符串、子串、字符、字符数组和填充字符。`swap`函数用于交换两个`string`对象的内容,成员函数版本效率更高。非成员函数重载包括`operator+`实现字符串连接,关系运算符(如`==`, `<`等)用于比较字符串,以及`swap`非成员函数。此外,还介绍了`getline`函数,用于按指定分隔符从输入流中读取字符串。文章强调了非成员函数在特定情况下的作用,并给出了多个示例代码。
|
1月前
|
存储 网络协议 编译器
【干货总结】Linux C/C++面试知识点
Linux C/C++基础与进阶知识点,不仅用于面试,平时开发也用得上!
461 9
|
1月前
|
安全 程序员 C++
C++一分钟之-重载运算符
【6月更文挑战第21天】C++的运算符重载让程序员能为自定义类型定制运算符行为,增强代码表达力。但要注意清晰性、优先级和返回类型。遵循运算符原有意义,充分测试,并用注释解释非直观设计。示例展示了如何为复数类重载`+`运算符。避免重载内置类型,注意结合性,且慎用隐式转换。重载应提升可读性而非复杂化代码。
20 2
|
28天前
|
C++
C++函数的默认参数、占位符、重载
C++函数的默认参数、占位符、重载
20 0
|
28天前
|
Unix 编译器 C语言
【C++航海王:追寻罗杰的编程之路】关键字、命名空间、输入输出、缺省、重载汇总
【C++航海王:追寻罗杰的编程之路】关键字、命名空间、输入输出、缺省、重载汇总
13 0
|
1月前
|
C++
C++继承的相关知识点
C++继承的相关知识点
13 0
|
1月前
|
编译器 C++
C++运算符的重载
C++运算符的重载
15 0
|
12天前
|
设计模式 安全 编译器
【C++11】特殊类设计
【C++11】特殊类设计
32 10
|
17天前
|
C++
C++友元函数和友元类的使用
C++中的友元(friend)是一种机制,允许类或函数访问其他类的私有成员,以实现数据共享或特殊功能。友元分为两类:类友元和函数友元。类友元允许一个类访问另一个类的私有数据,而函数友元是非成员函数,可以直接访问类的私有成员。虽然提供了便利,但友元破坏了封装性,应谨慎使用。
45 9