天天看点

__super 关键字

在MSDN中,  __super解释为:允许您显式说明要为正在重写的函数调用基类实现,看上去很难理解,所以自己归纳了如下:

1.在包含多个基类时, 使用__super可以自动找到正确的基类.

2.如果两个基类成员名称相同,编译器会报错.

3.__super 不能和 using一起使用.

示例:

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)  
   }  
};        

继续阅读