重载、覆盖、隐藏之间的区别:
一、成员函数重载的特征:
相同的范围(同一个类中);
函数名字相同;
参数不同;
virtual关键字可有可无。
二、覆盖
覆盖是指派生类函数覆盖积累函数,特征为:
不同的范围内(基类和派生类);
函数名相同;
参数相同;
基类函数必须有关键字virtual。
三、隐藏
隐藏是指派生类的函数屏蔽了与其同名的基类函数,规则如下:
派生类的函数与基类的函数同名,但是参数不同,此时不论有无virtual关键字,基类的函数都被隐藏;(与重载的区别)
派生类的函数与基类的函数同名,并且参数相同,但是基类函数没有virtual关键字,此时基类的函数被隐藏。(与覆盖的区别)
阅读(569) | 评论(0) | 转发(0) |