私は専門学校で先生もしていますが、そのC++の授業で実際に使っているのが本書です。
といっても私が選んだわけではなく学校指定のテキストだったので、最初は疑り深く眺めてました。すみません、とても良い本でした。矢沢さんの著書は本サイトでもいくつか取り上げていますが、これは一二を争う出来かもしれません(理由は後述)。
内容は構造体とクラスの違いから始まり、オブジェクト指向の三本柱(カプセル化、継承、多態)、オブジェクトの動的確保などがメインですが、バランス良くコンパクトにまとめているので挫折しにくくなってます。C言語経験者ならすんなり読めるかと思います。
クラスに慣れない人向けに図や現実世界の例を使ってイメージを助けつつ、C++のソースは最小限に抑えられ実行結果も全て載っているので、電車の中やリビングで読んでも学べる便利な一冊だと思います。
また息抜き?のコラムもかなりキレが良いです。ちょっとC++から距離を置いて客観的に内容を眺めるのに役立ち、意図してか偶然かは分かりませんが巧妙な構成になってます。
そして何より全編を通じて著者のメッセージを強く感じました。
「オブジェクト指向は道具であり目的ではないよ。それを取り違えるな。」
「各機能のメリットを理解し、必要ならば使おう。不要なら使わないのもアリだ。」
これらはまさしくその通りだと思います。
オブジェクト指向やデザインパターンを使っているつもりで、実は「逆に使われている」プログラムを私も多く目撃してきました。だから、その重みはとてもよく分かります。
プログラムを取り巻くリソースを把握した上で設計を検討しないと、机上の空論になっちゃいます。
そんなわけで本書は、C++やオブジェクト指向と共にプログラムの本質(ちょっと言い過ぎ?)も学べる大変お得な一冊です。
実際に謎ソースと格闘した経験があれば、実感が溢れるほど湧いてきますよ。
一応初心者向けですが、中級以上の方が読んでも得るものが大きいと思います。
|