2009-10-01 22 views
3

當子類重寫基類的方法時,子類中的所有基類的重載都不可用。爲了使用它們,應該在子類中添加一個using BaseClass::Method;行。使用基類的所有重載

是否有一種快速方法可以爲所有重寫的方法提供基類的重載? (不需要爲每種方法明確指定using ...

回答

6

編號只有在using聲明中才有可能,並且只適用於各個方法。

+2

我想強調的'使用declaration'。這是搜索更多細節的關鍵字,因爲'using'在C++的幾個不同的上下文中被使用。 – gimpf 2009-10-01 12:04:17

0

您可以訪問類的方法,通過顯式指定類的範圍時你要調用的方法...

e.g

class Base{ 
public: void foo(){} 
}; 

class Derived : public Base { 
public: void foo(int){} 
}; 

int main() 
{ 
    Derived d; 
    *d.Base::foo();* // like this 
}