我正在尝试一些隐藏在 c++ 中的函数概念。因此,在派生类中,我使用范围解析运算符 using base::fun
来提供派生类中基类的范围。我的目标是打印cout<<" base "<< x;
,但输出只打印派生类 cout。有什么原因以及如何解决?即它应该打印基类和派生类的值。我是 C++ 新手,如有任何错误,我深表歉意。代码如下所示:
#include <stdio.h>
#include <iostream>
using namespace std;
class base
{
public:
int fun(int x)
{
cout<<" base "<< x;
return x;
}
};
class derived:public base
{
public:
using base::fun;
void fun(int a)
{
cout<<" derived "<< a;
}
};
int main()
{
derived d;
d.fun(10);
return 0;
}