C++のクラスと構造体の使い分け

基本的にクラスと構造体の違いはないっぽい.唯一違うのはデフォルトのアクセス制限.クラスはデフォルトではprivate,構造体はデフォルトではpublic.じゃあどう使い分けるか?それについて考えをまとめてみる.

まず構造体.単に関連する(セットで扱う)データをまとめて扱いたい,そして一括して初期化や解放をしたい.そんな時は,構造体を使う.構造体のコンストラクタでは各メンバの初期化を行い,デストラクタで解放する.

一方のクラスはどうか?オブジェクト指向な考え方に基づいて,データとそれに対する手続きをひとまとめにしたいとき.そんな時にはクラスを使う.

まじめにクラス設計したときはクラス,そうでないときは構造体,なんかそんな感じになった.どうかな…

コメントする