C++ - 자식 클래스에서 부모 클래스를 가리키는 키워드 __super

C++ 표준은 아니고 VC++ 7.0에서 생긴 키워드로 자식 클래스에서 부모 클래스의 멤버를 호출할 때 사용하면 편리하다.
이 키워드를 사용하면 부모 클래스의 이름이 바뀌어도 변경 없이 부모 클래스의 멤버를 호출할 수 있다.

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

이 글은 2020-07-08에 작성되었습니다.