>>639
わざわざ、ツリーでデータを抱え込む必要はないさ。
イベントの伝達やら見た目の制御だけツリーで管理し、
実体は別に持たせといたほうがdynamic_castも要らんし、
拡張するときに親クラスの変更も必要なくて楽だ。

std::list<ImageFile> images;
std::list<DocumentFile> documents;
std::list<Directory> directorys;

Node *root;
directorys.push_back( Directorys(・・・) );
root = &directorys.back();
documents.push_back( ImageFile(・・・) );
*root += &images.back();
documents.push_back( DocumentFile(・・・) );
*root += &documents.back();