next up previous contents
Next: 29.1.2 オブジェクト Up: 29.1 クラスとオブジェクト Previous: 29.1 クラスとオブジェクト

29.1.1 クラス

クラスは、構造体と同じようにデータを記述した部分と、あらたに取り入れられた メンバーとしての関数(メンバ関数)の部分があり、それぞれに対してスコープ としてpublic と private があります。

class Point {
	float my_x, float my_y;
    public:
        void setPoint( int x, int y);
        void getPoint( );
        void movePoint( int x_move, int y_move );
};

見ると分かるように最初の class が違いますが、struct に置き換えると 同じです。大きく違うのが、public 以下です。public: の前の my_x,my_y は実は private になっていて、private の メンバは同じクラス内からしかアクセスできません。つまり、クラスの 中だけのスコープしか持たないのです。従って、これらのデータへの アクセス方法を確保しなければなりませんが、オブジェクト指向では 変数を直接いじるのではなく、メンバ関数を通じてアクセスするのが 通常です。そのために、public: で指定した後のメンバには外から アクセスできるようになっている訳です。当然、public: の前に メンバ関数があれば、そのメンバ関数にはクラスの内部からしかアクセス 出来ません(その他に、protected という中間的なスコープがありますが、ここでは 省きます)。



Noriyo Kanayama