クラスとはよりセキュアで(安全性が高く)、

構造的なプログラムを記述する上で必至な機能です。


クラスとは構造体に関数をもたせることが出来ます。


構造としては下記のようなものになります。

-----


class ClassTest{

int data;


void setValue( int value ){

data = value;

}


int getValue(){

return data;

}

};


-----


このように記述することで、valueの値を代入する過程を関数により制御することが出来ます。

このままでは、通常の関数でも出来るんじゃないの?

とお思いもしれませんが、そうではありません。


このクラスを実際に利用して値をセットし、実行してみましょう。


-----


#include "stdio.h"


int main(){

ClassTest test(); // クラスを宣言します。

test.setValue( 10 );

printf( "%d", test.getValue() );

}


-----


しかし、これを実行してもエラーが出たのではないでしょうか?

それは何故か。クラス内のデータには『アクセス権』という概念があり、

アクセスを許可する範囲を指定することが出来ます。


クラスのデータは基本的にはクラス内からしかアクセスすることが出来ません。(private)

では、関数部分のみどこからでもアクセス可能(public)と指定してみましょう。


-----

class ClassTest{

private:

int data;

public:

void setValue( int value ){

data = value;

}

int getValue(){

return data;

}

};

-----


これでサンプルのプログラムを実行することが出来るようになりました。

ちなみに、わかると思いますが、実行結果は

-----

10

-----

です。