新・明解 C++で学ぶオブジェクト指向プログラミング 第1章 クラスの基礎

たまたま、この本を読み始めました。

新・明解C++で学ぶオブジェクト指向プログラミング

柴田 望洋 SBクリエイティブ 2018年09月18日頃
売り上げランキング :

by ヨメレバ

C/C++ についてはひと通り理解しているつもりですが、復習も兼ねて、読み続けてみたいと思います。ただやはりなかなかのボリュームで、ただ読んでいるだけでは忘れていくばかりですので、自分のメモとして書いていきます。他の人には全く役に立たないと思いますがご了承ください。

不定期更新です。


 

新・明解 C++で学ぶオブジェクト指向プログラミング

第1章 クラスの基礎

*現実の世界からプログラムの世界への投影、
・まとめるべきものは、まとめる。
・本来まとまっているものは、まとまったままにする。

*クラス定義はあくまで型の宣言であり、タコ焼きの型。
そのクラス型の実体であるオブジェクトが、型から作られた本物のタコ焼き。

*すべてのデータメンバは非公開とするのが原則。
データメンバを外部から保護した上で、メンバ関数とうまく連携させることをカプセル化という。

*コンストラクタの役割は、オブジェクトを確実かつ適切に初期化すること

*ヘッダ部分(*.h)と、実装部の分離
ヘッダはクラスの仕様書である。
利用者はヘッダをインクルードする。だから、ヘッダ内に using 指令を置くとインクルードするファイルにまで影響するから入れないほうがよい。

(感想)
オブジェクト指向プログラムの個人的な過去の学習経緯として、ハードウェア検証言語である Vera から入って、その後 C/C++ にさかのぼったという、ちょっとおかしな経緯になってました。なので、C でいう構造体 Struct との比較みたいなのはあまり感じなかったのですが、 C を先に使ってるひとには、Struct のなかに task が入ってて変な感じ、というクラス定義の印象をもたれるかもしれません。
C++ のクラスとオブジェクトは、Verilog のモジュール宣言とそのインスタンスみたいなものですね。

タイトルとURLをコピーしました