>> C++入門トップに戻る

クラスの作り方

今回はクラスの作り方について説明します。
まず下記のコードを見てください。

#include <stdio.h>

//クラス定義
class TEST{
public:
	int figure;
	void calc(int temp){
		figure=temp;
		printf("%d\n",temp);
	}
};



int main(void)
{
	
	TEST test;

	test.calc(10);

	printf("%d\n",test.figure);

	return 0;
	
}

これを実行すると、10が縦に並んで表示されます。
コードの解説をします。
クラスの作り方は

class クラス名{
アクセス修飾子 :
型 変数名;
関数 関数名(引数){
処理
}
};

となっています。

まずクラス名ですが、変数名の名前付けのルールと一緒です。
次にアクセス修飾子というものですが、
これは対象の変数や関数がどこからアクセスできるかを設定するためのものです。
これには、private,protected,publicの三つがあります。
後ほど継承の講座で詳しく説明しますが、

private  →  クラス内からしかアクセスできない
protected → クラス内と継承先のクラスからしかアクセスできない
public → クラス内クラス外のどこからでもアクセスできる

という意味になっています。
今回はpublicにしていますので、public:のコードより下に書いた方や関数は全て、
どこからでもアクセスできるようになります。
一つのクラス内に複数のアクセス修飾子を含めることも当然できます。

class TEST{
public:
int figure;
void calc(int temp){
figure=temp;
printf("%d\n",temp);
}
private:
short txt;
protected:
char letter;
};

このように書けばよいです。
各アクセス修飾子から次のアクセス修飾子までが、指定したアクセス修飾子の影響を受けます。

最後に、クラスの最後の括弧の後ろにはセミコロンを忘れないでくださいね。
私もよく忘れます(笑)

これが基本的なクラスの作り方です。
今回は関数もクラスの中に書きましたが、クラスが大きくなってくると、
関数の定義部分は別ファイルに書くことが多いです。
その場合は、

class TEST{
public:
int figure;
void calc(int temp);
}

このようにクラス内にはプロトタイプ宣言だけ書いて、
関数の定義部分は別ファイルに書くことが多いです。
クラス宣言部分をABC.hという名前でヘッダーファイルを作り、
その定義部分をABC.cppという名前で作るというような、
ヘッダファイルとソースファイルが対になるような関係で作ってる方が多いです。
私もこの作り方ですね。

今回はクラスの作り方を説明しました。
次回はこの使い方を説明します。


>> 【クラスの使い方】に進む
>> C++入門トップに戻る