oF覚書

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

C++のクラスとは #1 超基本編

C++におけるクラスというものについてたまに混乱してしまうので、自分の覚え書きを残します。(間違えてたりしましたらご指摘ください。)

 

クラスとは、C++における新しい機能の一つ。

 

オブジェクトの性質・状態や、それに関わる機能をまとめながらプログラミングを作成する、所謂「オブジェクト指向プログラミング」のための概念。

 

ユーザー定義"型"のひとつである。

 

クラスにモノの性質や機能をまとめることを一般に、「クラスを宣言する」という。

 

宣言の方法は以下の通り。

 

class クラス名 {

   アクセス指定子;

   変数の宣言;

   ...

   関数の宣言;

   ...

};

 

アクセス指定子とは、クラス内のメンバが外部からアクセスできるかどうかを指定する。

 

この機能の実装により、カプセル化(後述)を実装できる。

 

アクセス指定子には、「public」・「protected」・「private」の3種類があり、クラス内で指定しない場合は、全て「private」となる。

 

・public・・・クラスの外部からアクセスできる。

・protected・・・クラス内及び、派生先のクラスからのみアクセスできる

・private・・・クラス内からしかアクセスできない。

 

クラス内には、変数や関数をまとめて定義する。この変数や関数はメンバ(menber)と呼ばれている。

 

変数を「データメンバ」、関数を「メンバ関数」と呼ぶ。

 

クラス内ではメンバ関数の実際の処理についての定義がないので、外側で定義する。

 

戻り値の型 クラス名::メンバ関数名(引数リスト){

...

}

 

「::」はスコープ解決演算子(scope resolution operator)という。

これを使うことによって、メンバがどのクラスのメンバ関数であるのかを「::」前で指定する。

 

ex.

 

class Car {

  public:

   int num; //変数(データメンバ)numの宣言

   double gas; //変数(データメンバ)gasの宣言

   void show(); //関数(メンバ関数)showの宣言

};

 

//Carクラスメンバ関数の定義

void Car::show(){

 cout << "車のメンバーは" << num << "です"。'\n';

}