4

当子类覆盖基类的方法时,所有基类的重载都不能从子类获得。为了使用它们,应该using BaseClass::Method;在子类中添加一行。

有没有一种快速的方法可以为所有被覆盖的方法继承基类的重载?(不需要using ...为每种方法明确指定)

4

2 回答 2

6

不,这只能通过using声明实现,并且仅适用于单个方法。

于 2009-10-01T11:57:28.957 回答
1

您可以通过在要调用方法时显式指定类的范围来访问基类的方法...

例如

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

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

int main()
{
    Derived d;
    *d.Base::foo();* // like this
}
于 2009-10-27T07:45:02.803 回答