【初心者歓迎】C/C++室 Ver.43【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0229222
2007/10/03(水) 22:19:01template <typename Derived>
struct base
{
char interface() { return reinterpret_cast<Derived*>(this)->implementation(); }
static char static_func() { return Derived::static_sub_func(); }
};
struct derived : base<derived>
{
char implementation() { return 'A'; }
static char static_func() { return 'B'; }
};
template <typename T>
char f(base<T>& t) { return t.interface(); }
int main() {
derived d;
assert( f(d) == 'A' );
}
英語版wikipediaを参考に書いてみましたがまだしっくりきません
というかあきらかに違うような気がします
■ このスレッドは過去ログ倉庫に格納されています