http://sonic.tistory.com/8

class에서 다중 상속을 받게 될 경우 그 부모의 함수를 호출하는데 부모 클래스의 이름이 필요하다.

이때 해당 클래스의 이름을 적지 않아도 __super 라는 키워드를 이용해 부모클래스를 찾아 해당 

함수를 호출하도록 할 수 있다. 아래는 MSDN에 수록된 __super 의 사용 예다.

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

반응형

+ Recent posts