如果派生类有一个具有相同名称的方法,如何从派生类调用基类方法?

时间:2011-12-02 14:56:19

标签: c++

这是我想要做的:(伪代码)

class DerivedClass : public BaseClass
{
    public Draw()
    {
        BaseClass.Draw()
    }
}

class BaseClass
{
    protected Draw();
}

两个绘图都具有相同的名称和相同的签名。想要这样做的原因是有时我希望我的派生类有一个简单调用基类绘制的绘图函数,但有时我希望派生类选择何时调用基本绘图函数。这意味着我可以保持我更简洁地实例化派生类的类,并且可以随时调用所有这些类的绘制。派生类本身可以处理细节。

BaseClass.Draw部分的语法究竟是什么?我认为你实际上只是按原样编写,但编译器正在抱怨,并且我不能只调用Draw,因为签名是相同的。

2 个答案:

答案 0 :(得分:8)

语法为BaseClass::Draw()

答案 1 :(得分:3)

语法是

DeriveClass::Draw()
{
   BaseClass::Draw();
}