< 返回租用问题列表
c++重载和重写的不同有哪几种,c++重载和重写的区别
发布时间:2024-03-19 17:12:42
c++重载和重写的不同有哪几种
重载(overloading)和重写(overriding)都是面向对象编程中的概念,但是它们有区分的含义和用法。
-
重载(overloading)是指在同一个作用域内使用相同的函数名,但是参数列表区分的多个函数,这些函数称为重载函数。在C++中,函数的重载是静态多态性的一种表现。编译器在编译时会根据调用函数时的参数列表来肯定要调用的函数。重载函数可以有区分的返回类型,但是不能只有返回类型区分而参数列表相同。
-
重写(overriding)是指在派生类中重新定义基类中已定义的虚函数(还是基类中的纯虚函数)。重写函数一定要和基类函数具有相同的函数签名(函数名和参数列表),并且一定要是虚函数。重写函数可以有区分的实现,但是一定要具有相同的函数签名。
总结来讲,重载是在同一个类中定义多个同名函数,根据参数列表的区分来辨别调用;而重写是在派生类中重新定义基类中的虚函数,实现多态性。
推荐文章:
- Arch Linux中怎么更新系统和软件包,a···
2024-03-21
- OpenBSD中如何使用pf防火墙,openbsd安···
2024-03-21
- OpenBSD中怎么启用和管理系统服务,op···
2024-03-21
- OpenBSD中怎么备份和恢复系统,openbs···
2024-03-21
- Fedora中网络设置的有哪些方法,fedor···
2024-03-21
- Fedora中如何配置和使用防火墙,fedor···
2024-03-21
- Fedora中如何查看系统日志,linux 查看···
2024-03-21
- Fedora和CentOS之间的不同是什么,fed···
2024-03-21
- FreeBSD中如何创建用户账户,freebsd创···
2024-03-21
- FreeBSD中怎么启用和管理服务,freebs···
2024-03-21