どんなプログラミング言語でも,学習を進めていくとどこかに乗り越えないといけない壁が存在するものです。C++ではそれがクラスであることが多いようです。特にC++の場合は,ずぶの初心者ではなく,C言語を一通り使いこなした後でC++に移行してくる人が多いというほかのオブジェクト指向プログラミング言語には無い特徴があります。なまじC言語の知識があるため,オブジェクト指向と手続き型の考え方の違いから,クラスで行き詰まってしまうわけです。 では,どうしてクラスは壁となるのでしょうか。その理由は大きく2点あると思います。一つ目は,C++が登場するまで一般のプログラマにほとんどなじみが無かったオブジェクトという概念を理解しなければならないことです。私が知っている限り,C++が登場したころ,C言語からC++への移行がスムーズにできなかったエンジニアが大勢いました。そうした人の大半は,新しく入ってきたオブジェ