あれ、

一個前のを書きながら思ったんだけど、実はかなり面白くないか?
OOPが難しいのは、数多の実物より先に抽象概念を定義する必要があって、そこで目的に合わない定義の仕方をしてしまうと、ドカーン!ってなる (<-ambiguous representation) ので、慎重に定義しないといけない、というところに帰結する、と思う。俺OOPとか素人やから知らんけど。それなら必要な物体をみんなが好き勝手に作った後、それらを一括して扱いたいときには、そのときに都合がいい抽象概念を定義できるシステムのほうがいいんじゃないか?抽象概念は唯一無二である必要はないし。
で、C++でそれを実現しているのがfunction<>であり、bind()であり、conceptであり、後なんかあるかも知れんけど今思いつかんからいいとして、こういう考え方で作る場合はJavaとかC#よりもC++は大変強いなぁって思った。