需要 为 父类 函数添加 virtual 关键字修饰 , 会有多态效果 ;
重定义 时 , 子类 会 覆盖 父类 的 函数名称 ;
执行
Child c;
c.fun(1, 2, 3);
代码 , 尝试调用...父类的 3 个参数的 fun 函数 , 出现错误 ,
报错 : error C2661: “Child::fun”: 没有重载函数接受 3 个参数 ;
该错误是编译阶段报的错误 , 编译根本通不过 ;...3、错误原因分析 - 函数重定义问题 : 子类覆盖父类函数名
错误原因分析 : 函数重定义 带来的问题 , 子类覆盖父类函数名 ;
函数重定义的函数名称覆盖问题 : C++ 编译器 发现 Child...c 对象要调用 void fun(int a, int b, int c) 函数 , 子类中已经存在 fun 函数了 , 子类 会 覆盖 父类的函数名 , C++ 编译器只会在 子类查找 该函数 , 不会去父类...查找 ;
子类查找函数 : C++ 编译器 在 子类中找到了 void fun(int a, int b) 和 void fun(int a) 两个函数 , 没有找到 3 个参数的函数 , 此时 C+