http://codepad.org/J87uWOk5 // 20150718 1300 edited
這是比較舊也比較傳統的做法,
許多C語言的API常使用這種方式讓C++物件被callback。
(ex: CreateThread, ffmpeg的AVCodecContext有個member叫opaque)
這樣做可以避免class Display知道有PlaneDlg這class,
也就是說,傳入的class不限定於PlaneDlg。
但比起原po最早的寫法,這寫法就不能用在global function,
所以若不是有特殊限制,我比較建議是用C++11的std::function,
因為可接受任何同型的callable object,
(ex: global function, member function, lambda, std::function,
return of std::bind, ...)
//