C++重载、重写(覆盖)、隐藏

类成员函数中重载/重写(覆盖)/重定义(隐藏)的区别?

答:分别简单讲述一下函数重载,函数覆盖,函数隐藏的概念与特征: 
函数重载:重载函数通常用来命名一组功能相似的函数

1.函数要在相同的类域 
2.函数的名字要相同 
3.函数的参数列表或返回值不同

函数覆盖:覆盖是指派生类函数覆盖基类函数

1.函数是要在不同的类域 
2.两个函数的名称相同 
3.基类函数必须是虚函数 
3.两个函数的参数相同

函数隐藏:指派生类的函数屏蔽了与其同名的基类函数

1.两个函数在不同的类域 
2.函数名称相同 
3.函数参数不同 
4.如果派生类函数与基类函数参数相同,但是在基类函数中没有virtual关键字,发生函数隐藏

猜你喜欢

转载自www.cnblogs.com/xuelisheng/p/9280833.html