oF覚書

デジタルクリエーターを目指し右も左も分からず奮闘する23歳の日記です。

C++のクラスとは #2 クラスの利用編

宣言したクラスは、自身で定義した新しい型のひとつ。つまりは、クラス型の変数を宣言することができる。

 

クラス型の変数の宣言は通常の変数を宣言する方法と同じ。

 

クラス名 変数名;

 

Car car1; //Carクラスの値を記憶できる変数car1の宣言。

//carクラスが設計図だとするならば、それを元に車を一台(car1)制作した。

 

このクラス型の変数を「オブジェクト」、または「インスタンス」と呼ぶ。

 

このオブジェクトをコード中で利用するには、「.」ドット演算子を使う。

 

car1.num = 1234; //Car設計図を元に制作されたcar1のナンバーが1234。

car1.gas = 20.5; //Car設計図を元に制作されたcar1のガソリン量が20.5。

 

メンバ関数も同じように「.」ドット演算子を使う。

car1.show(); //Car設計図を元に制作されたcar1の機能の呼び出し。

 

 

なお、オブジェクトのためにメモリを確保すること(ここではcar1を定義すること)を、オブジェクトを作成するという。また、オブジェクトの利用終了とともにメモリが解放されることを、オブジェクトを破棄するという。

 

main()関数内で宣言されたローカル関数はmain()関数が開始されるとともにオブジェクトが作成され、main()関数が終了した時に破棄される。

 

一方、オブジェクトを動的に作成することもできる。

new演算子を使ってオブジェクトのためのメモリを確保し、delete演算子を使ってメモリを解放する。

 

{

  Car* pCar; //Carクラスへのポインタを準備。

  pCar = new Car; //ポインタにアドレス(Car)を代入。

  pCar ->num =1234; //アロー演算子を使ってメンバにアクセス。

  pCar ->gas = 20.5; //アロー演算子を使ってメンバにアクセス。

  delete pCar; //オブジェクトを破棄。

}