Tutorial 10. Classes

classはdataとfunctionsの両方を持つdata structureです。classは以下のように定義されます。

class id{
    members;
    methods;
};


classはreserved wordです。
idはclassを識別するためのidentifierとして定義します。

class a{};

この例はclass aを定義しています。aはmember、methodを持たない最小のclassです。

a x;

class aはデータ型として扱うことが出来ます。つまり、通常のデータ型と同様に宣言することが出来ます。

class b{
    int i, j;
};


この例ではmemberとしてint i、int jを持つclass bを定義しています。memberを定義するには{}内で初期化を行わない宣言と同じようにして行われます。つまり、

class b{
    int i=0;
    int j(0);
};


のような定義は非合法となります。

b y;
y.i=0;
y.j=b.i;


yのmemberはy.*という形式でアクセスすることが出来ます。

class c{
    int sum(int x, int y){
        return x+y;
    }
};

cはmethodとしてint sum(int, int)を持つclassとして定義されています。methodを定義するには{}内でfunctionと同様に定義します。

c z;
z.sum(1,2);


zのmethodはz.*(...)という形式でアクセスすることが出来ます。


Next: Tutorial 11. Parameters
Prev: Tutorial 09. Native Functions