#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基础课程》。