next up previous
: データのアクセス : C と比較しながら,まず復習 : C と比較しながら,まず復習

構造体とクラス

C の構造体と似ているオブジェクトと呼ぶデータ構造がある. オブジェクトの型は,クラスとして定義する. C で typedefstruct を使って, 構造体を定義し,その型を定義することと同じようなことを, クラスの定義で行う.

C で,


typedef struct {
  int a;
  double b;
  ...;
} 構造体につける型名;
とするのと同様なことを, C++ では以下のようにクラスを定義することで行う.


class クラス名 {
  int a;
  double b;
  ...      //  非公開メンバの定義
public:
  ...;     //  公開メンバの定義
  ...;
};

C では,構造体に型名をつけていれば,その構造体の型を持つ変数を,


int x;
型名 y, z;
など宣言した.

C++ では, 個々のクラスの (型を持つような) 変数 (オブジェクト,インスタンス) は, クラス名が型の名前と定義されているものとして,


int x;
クラス名 y, z;
として宣言する.



Takeshi Kumagai 平成19年6月19日