我有一個抽象基類,並希望在派生類中實現一個函數。爲什麼我必須再次在派生類中聲明函數?爲什麼界面需要重新聲明?
class base {
public:
virtual int foo(int) const = 0;
};
class derived : public base {
public:
int foo(int) const; // Why is this required?
};
int derived::foo(int val) const { return 2*val; }
這是否意味着,如果我不重新聲明派生類中的函數,編譯器將不會查找派生類的重載實現? – Michael
@邁克爾:是的,我認爲這是正確的。 –