是一個C++代碼:解釋錯誤下面
#include<iostream>
using namespace std;
class Base {
public:
virtual int f() const { cout << "Base::f()\n"; }
virtual void f(string) const {}
virtual void g() const {}
};
class Derived4 : public Base {
public:
int f(int) const { cout << "Derived4::f()\n"; }
};
int main() {
string s ("hello");
Derived4 d4;
Base *br = &d4; //line 5
//br->f(1);//line 6
br->f();//line 7
br->f(s);//line 8
}
代碼工作正常,但第6行是一個錯誤。代碼調用f()的基本版本。我也讀過,如果你重新定義派生類中的函數,該函數的所有基類def全部隱藏?我錯了嗎?
首先包括 –
解釋_which_error?編譯器告訴你什麼?哪一行是第6行?乍一看,我看到五個錯誤。 –
@MooingDuck你能說出這五個錯誤嗎?請 – akash