C++:クラスの概要(4)> クラスと構造体の違い

C++において重要なクラスと構造体の違いについてのメモ。ここで言うクラスや構造体はC++のものを指します。

クラスと構造体

クラスとは

複数の変数や関数を持ち、単独で機能するモジュールのこと。

構造体とは

もともとCにおいての構造体は複数の変数をひと固まりにして新しい型として定義するもの。
C++では構造体の機能が拡張され、クラスと同様、データ構造の中にコンストラクタやデストラクタ等の関数を含むことが出来る。

クラスと構造体の違い

クラスのメンバはデフォルトで非公開(private)なのに対し、C++の構造体のメンバはデフォルトで公開(public)であることが違うのみで、機能的に両者はほぼ同じ。

C++での構造体の拡張構文

struct type-name {
    // 公開関数とメンバ
private:
    // 非公開関数とメンバ
} object-list;

※object-list は省略可

上記の構造体をクラスに書き換えると以下のようになる。

class type-name {
    // 非公開関数とメンバ
public:
    // 公開関数とメンバ
} object-list;

※object-list は省略可

まとめ

C++においてはクラスと構造体に大きな違いが見られないことから、メンバ関数を持つものはクラス、メンバ関数を持たないデータ集合であれば構造体、と使い分ければいい思います。

siro:chro 無料ゲーム SQN をリリースしました

img_sqn_00

sirochro 初の無料ゲームアプリ SQN をリリースしました。
記事:SQN: iOS 無料ゲームアプリ SQN - Sequential Numbers をリリース
ちょっとした時間に楽しめる完全無料のゲームなっていますので、是非ダウンロードして遊んでみてください。

↓SQN のダウンロードはこちらから

Related Contents

Pickup Contents