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

时间:2012-07-11 04:22:07

标签: c++ function call superclass base-class

  

可能重复:
  C++ equivalent of “super”?

是否可以在子类中调用基类成员函数,而不知道基类的名称? (比如在java中使用super关键字)

1 个答案:

答案 0 :(得分:1)

C ++没有super关键字的标准等效项。但是有一个特定的微软__super,如果你使用的是visual studio,我认为它会达到同样的效果。

// 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