함수 포인터를 쓰는 부분이 있는데
int func(int i, string str, ...);
이런 전역 함수였음. 이걸 클래스에 넣고 싶어서 

class Derived : public Base {
   int func(int i, string str, ...);
};

이렇게 해 놓고 static으로 caller를 하나 만들고 그놈이 func를 호출하게 고침.
Derived::func(int i, string str, ...)에는 this가 첫 번째 인수로 들어가기 때문이라나~
암튼 여기까진 성공했고...


다중상속을 지원하게 하고 싶어서 

class Derived : public virtual Base {
   int func(int i, string str, ...);
};

하는 식으로 했더니 caller->func(...)가 실행이 안 됨. <----왜?????
 * 바꾼 건 virtual 밖에 없는듸 그럼 범인은 mangling?

virtual 개객기. 사실 다중상속 필요도 없는데 그냥 없앨까.

자바는 C++보다는 참 편한 것 같다. virtual이 기본이니 얼마나 좋음?