关键字__super是微软特定的。它用于访问父类的虚方法。你知道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
}
__super
是棘手的。我相信C++之所以成为现在这个样子,一定有其良好的原因。 - David Heffernan__super
的另一种替代方式(还提到了伟大的书《C++的设计与演化》,我曾经拥有但被我的狗吃了。):https://dev59.com/43VC5IYBdhLWcg3wykej - Leonardo Herrera