使用基类的所有重载

时间:2009-10-01 11:49:29

标签: c++ inheritance overloading using-statement override

当子类重写基类的方法时,子类中不能提供所有基类的重载。为了使用它们,应该在子类中添加using BaseClass::Method;行。

是否有一种快速方法可以为所有重写方法提供基类的重载? (不需要为每个方法明确指定using ...

2 个答案:

答案 0 :(得分:6)

没有。它只能使用using声明,并且只适用于各个方法。

答案 1 :(得分: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
}