📜  C++ |继承|问题8

📅  最后修改于: 2021-05-25 22:50:29             🧑  作者: Mango

#include
using namespace std;
  
class Base
{
public:
    int fun()  { cout << "Base::fun() called"; }
    int fun(int i)  { cout << "Base::fun(int i) called"; }
};
  
class Derived: public Base
{
public:
    int fun() {  cout << "Derived::fun() called"; }
};
  
int main()
{
    Derived d;
    d.fun(5);
    return 0;
}

(A) Base :: fun(int i)被称为
(B)派生:: fun()被调用
(C) Base :: fun()被调用
(D)编译器错误答案: (D)
说明:如果派生类编写了自己的方法,则即使基类函数的符号不同,具有相同名称的所有基类函数也会被隐藏。

在上述问题中,当在Derived中重写fun()时,它同时隐藏了基类的fun()和fun(int)。
这个问题的测验

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。