<分区>
我一直认为基类的公共(public)方法确实被派生类继承,甚至认为派生类没有那个特定方法的定义。例如
#include <iostream>
using namespace std;
class A {
public:
int f() { cout << 3; return 0;}
int f(int x) {cout << x; return 0;}
};
class B: public A {
public:
int f() {std::cout << 5; return 0;}
};
int main(){
B ob;
ob.f(7);
return 0;
}
我期望结果是 : 7 ,但我得到编译错误
"错误:函数调用的参数过多,预期为 0,实际为 1;您是说 'A::f' 吗?"
我知道错误的意思,但我对未调用 Base 类的函数感到有点困惑。