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; //オブジェクトを破棄。
}