C++重载、重定义与重写的用法详解
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"C++重载、重定义与重写的用法详解",在日常操作中,相信很多人在C++重载、重定义与重写的用法详解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C++
千家信息网最后更新 2026年11月02日C++重载、重定义与重写的用法详解
这篇文章主要介绍"C++重载、重定义与重写的用法详解",在日常操作中,相信很多人在C++重载、重定义与重写的用法详解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C++重载、重定义与重写的用法详解"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
一、重载(重载函数)
重载函数是C++为了方便使用,允许在同一范围中(一个类中)声明几个功能类似的同名函数,但是这些同名函数的形参(指参数的个数、类型或者顺序至少有一个)必须不同
1、代码实现在一个类中fun()函数的重载:
#includeusing namespace std;class Base{public: void fun() { cout << "Base::fun()" << endl; } void fun(int a) { cout << "Base::fun(int)" << endl; } void fun(int a, float b) { cout << "Base::fun(int,float)" << endl; }};void main(){ Base c; c.fun(); c.fun(1); c.fun(1, 1.0);}
2、运行程序之后的打印

二、重定义(函数同名隐藏)
如果一个类,存在和父类相同的函数(此处指函数名相同,对返回类型、形参没有要求),那么,这个类将会覆盖其父类的方法,除非你在调用的时候,强制转换为父类类型,否则试图对子类和父类做类似重载的调用是不能成功的,此方法称为重定义。(bb太多文字怕看官老爷晕乎乎,直接上代码)
1、代码实现在两个类中分别定义一个函数(函数名要求相同):
class Base{public: void fun() { cout << "Base::fun()" << endl; }};class D :public Base{public: void fun(int) { cout << "D fun(int)" << endl; }};int main(){ D d; //d.fun() 如果这样调用 系统会提示缺少参数 d.fun(1);//同名隐藏,此时调用的是子类中的fun函数 //如果想调用父类对象,下面的语句可以帮你实现,你需要指出调用的是谁的fun d.Base::fun(); }2、运行程序之后的打印

三、重写(覆盖)
子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,也就是子类重新定义父类中有相同名称和参数的虚函数(virtual),这就需要采用方法的重写。方法重写又称方法覆盖。
1、代码实现在子类重写父类虚函数:
class Person{public: virtual void Eat() { cout << "Person Eat food" << endl; } virtual void sleep() { cout << "Person sleep " << endl; } void study() { cout << "We need study" << endl; }};class Lily:public Person{public: virtual void Eat() { cout << "Lily Eat dumpling" << endl; } virtual void sleep() { cout << "Lily sleeps and dreams " << endl; }};void main(){ Lily L; /*子类对象不能直接调用被重写的方法 因为对D实例化的对象来说重写的函数覆盖掉了父类的虚函数 */ Person *pr = &L; pr->Eat(); pr->sleep(); L.study();}2、运行程序之后的打印
我们看完三个方法的实现之后来做一个横向比较:
| 函数 | 特点 |
|---|---|
| 函数重载 | 在同一个类中,同名函数形参的个数、类型、顺序至少有一个不同 |
| 重定义(同名隐藏) | 子类中存在和父类相同的函数(此处指函数名相同,对返回类型、形参没有要求),屏蔽了父类的同名函数 |
| 重写(覆盖) | 子类对父类继承的虚函数内容想做一定的修改 |
到此,关于"C++重载、重定义与重写的用法详解"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
函数
方法
子类
相同
C++
类型
代码
形参
学习
参数
程序
运行
不同
个数
少有
更多
顺序
帮助
实用
成功
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云南咖啡
山东特亿宝互联网科技有限公司
美国互联网保险保险科技
易互联网科技有限公司
杭州互联网科技公司
未来的互联网科技
云电互联网科技
美国互联网黑科技
山东吉时兔互联网科技有限公司
坤平互联网科技
互联网行业科技股
互联网金融科技名词解释
互联网金融科技公司的优势
江苏苏星互联网科技有限公司
工业互联网科技成果转化
三亚科技创新互联网基地
长沙易易互联网科技有限公司
互联网大会出现的黑科技
六子台科技互联网展会
广州全民伙伴互联网科技有限公司
为想互联网科技怎么样
互联网科技集团
广州互联网络科技有限公司
友谊互联网络科技
上海亿帐通互联网科技
互联网 科技服务平台
群盈汇互联网科技有限公司
雨阳互联网卡科技有限公司
广州百诚互联网科技有限公司官网
互联网安防科技感