如何在不知道C++中基类名称的情况下调用子类中基类的成员



可能重复:
C++等价于“super";?

是否可以在不知道基类名称的情况下调用子类中的基类成员函数?(类似于在java中使用super关键字)

C++没有super关键字的标准等效项。但有一个微软特有的__super,我认为如果你使用visualstudio,它也能实现同样的效果。

// deriv_super.cpp
// compile with: /c
struct B1 {
   void mf(int) {}
};
struct B2 {
   void mf(short) {}
   void mf(char) {}
};
struct D : B1, B2 {
   void mf(short) {
      __super::mf(1);   // Calls B1::mf(int)
      __super::mf('s');   // Calls B2::mf(char)
   }
};

参考:msdn

相关内容

最新更新