int a, int b, int c)
void fun(int a, int b)
void fun(int a)
在 Child 子类中 , 重定义了上述 3 个函数中的 2 个函数 ,
void..., 子类 会 覆盖 父类 的 函数名称 ;
执行
Child c;
c.fun(1, 2, 3);
代码 , 尝试调用 父类的 3 个参数的 fun 函数 , 出现错误 ,
报错 : error...: 函数重定义 带来的问题 , 子类覆盖父类函数名 ;
函数重定义的函数名称覆盖问题 : C++ 编译器 发现 Child c 对象要调用 void fun(int a, int b, int c) 函数..., 子类中已经存在 fun 函数了 , 子类 会 覆盖 父类的函数名 , C++ 编译器只会在 子类查找 该函数 , 不会去父类 查找 ;
子类查找函数 : C++ 编译器 在 子类中找到了 void...: 没有重载函数接受 3 个参数 ;
4、正确调用函数的方法
在这种情况下 , 由于子类 重定义了部分 父类的重载函数 , 导致 父类的 函数名被覆盖 , 此时需要使用 域操作符 访问父类 被覆盖的函数