データ・メンバーには、基本型だけでなく、ポインター、参照、配列の型、ビット・フィールド、およびユーザー定義
の型などの、他の型を用いて宣言されるメンバーが含まれます。
データ・メンバーは、変数と同じ方法で宣言できますが、明示的初期化指定子をクラス定義の内部に設定することはできません。
しかし、整数型または列挙型の const 静的データ・メンバーは、明示的初期化指定子を持つこと
ができます。
配列を非静的クラス・メンバーとして宣言する場合には、その配列のすべての次元を指定する必要があります。
クラスには、クラス型のメンバー、またはクラス型へのポインターまたは参照であるメンバーを入れることができます。 クラス型のメンバーは、事前に宣言されているクラス型のメンバーでなければなりません。 クラスのサイズが必要でなければ、メンバー宣言で、不完全なクラス型を使用することができます。 例えば、不完全なクラス型へのポインターであるメンバーを宣言することができます。
クラス X には、型 X のメンバーを入れることはできません。ただし、X へのポインター、X への参照、および X の静的オブジェクトは入れることができます。X のメンバー関数は、型 X の引き数を取り、X 型を戻します。例えば、次のようになります。
class X { X(); X *xptr; X &xref; static X xcount; X xfunc(X); };
関連参照