成员函数的重载、覆盖(override)与隐藏很容易混淆,C++开发人员必须要搞清楚概念,否则错误将防不胜防。
1、重载与覆盖区分
成员函数被重载的特征:
(1)相同的范围(在同一个类中);
(2)函数名称相同;
(3)参数不同;
(4)virtual关键字可有可无。
覆盖是指派生类函数覆盖基类函数,特征是:
(1)不同的范围(分别位于派生类与基类);
(2)函数名称相同;
成员函数的重载、覆盖(override)与隐藏很容易混淆,C++开发人员必须要搞清楚概念,否则错误将防不胜防。
成员函数被重载的特征:
(1)相同的范围(在同一个类中);
(2)函数名称相同;
(3)参数不同;
(4)virtual关键字可有可无。
覆盖是指派生类函数覆盖基类函数,特征是:
(1)不同的范围(分别位于派生类与基类);
(2)函数名称相同;