Borland / Delphi替代__super关键字

时间:2011-11-30 12:57:52

标签: c++ delphi compiler-construction c++builder

关键字__super是Microsoft特有的。它用于访问父类的虚方法。您是否知道borland c ++ / delphi编译器的替代关键字?

class MyBaseClass
{
    virtual void DoSomething();
};

class MyDerivedClass : public MyBaseClass
{
    virtual void DoSomething();
};

void MyBaseClass::DoSomething()
{
    // some code
}

void MyDerivedClass::DoSomething()
{
    __super::DoSomething();  // calls implementation of base class - no need to know name of base class

    // implementation specific to derived class adding new functionality
}

3 个答案:

答案 0 :(得分:9)

Delphi中的等价物是inherited。据我所知,在C ++ Builder中没有等效的,当然__super是非标准的MS扩展。

答案 1 :(得分:8)

  • 德尔福:inherited MyMethod(MyParam);或缩短inherited;
  • C ++ Builder:MyBaseClass::MyMethod(MyParam);

答案 2 :(得分:3)

在Delphi中,等效的是继承。您可以在RTL和VCL源中看到它的使用示例。