关键字__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
}
答案 0 :(得分:9)
Delphi中的等价物是inherited
。据我所知,在C ++ Builder中没有等效的,当然__super
是非标准的MS扩展。
答案 1 :(得分:8)
inherited MyMethod(MyParam);
或缩短inherited;
MyBaseClass::MyMethod(MyParam);
答案 2 :(得分:3)
在Delphi中,等效的是继承。您可以在RTL和VCL源中看到它的使用示例。