C++ の構造体コンストラクター

Naila Saad Siddiqui 2023年10月12日
  1. C++ での struct の紹介
  2. C++ の struct コンストラクター
C++ の構造体コンストラクター

この小さなチュートリアルでは、struct の使用と、C++ を使用したコンストラクターの追加について説明します。

C++ での struct の紹介

structは Structure の略で、いくつかのプリミティブ型変数を組み合わせたユーザー定義のデータ型です。 これらの変数が混合されて、新しいユニットが形成されます。

ユーザー定義の名前もあります。 struct を宣言する構文は次のとおりです。

struct structName {
  data - type var_1;
  data - type var_2;
  ........date - type var_N
};

上記の構文は、struct にユーザー定義の名前と変数のセットがあることを示しています。 これらの変数は、プリミティブ データ型の場合もあれば、他のユーザー定義の class または struct 変数の場合もあります。

struct は、すべてまたは任意のデータ メンバー、メンバー関数、コンストラクタ、デストラクタ、演算子、イベント、およびネストされたデータ型を持つことができます。 struct が宣言された後、次のように new キーワードの有無にかかわらず、そのオブジェクトを作成できます。

structName objectName = new structName();
OR structName objectName;

違いは、オブジェクトを new で初期化すると、デフォルトのコンストラクターが呼び出され、すべてのデータ メンバーに何らかの値が割り当てられ、new を使用しない場合、データ メンバーは割り当てられないままになることです。

C++ の struct コンストラクター

コンストラクターは、new キーワードを使用してオブジェクトが作成されるときに暗黙的に呼び出されるメンバー関数です。 これらのメンバー関数は、値を struct のデータ メンバーに初期化するために使用されます。

さらに、struct にデフォルトのコンストラクターとパラメーター化されたコンストラクターを含めることができます。 コンストラクターを宣言する構文は次のとおりです。

struct structName {
  datatype var1;
  structName() { var1 = [some - value]; }
};

上記の疑似コードは、デフォルト コンストラクター を宣言するための構文を示しています。 実際のコードを次の例に示します。

struct Square {
  float sides;
  Square() { sides = 0; }
  Square(int s) { sides = s; }
};

上記のコードでは、2つのコンストラクターを宣言しました。1つはデフォルトで、もう 1つはパラメーター化されています。 struct のオブジェクトを作成するには:

int main() {
  Square s1 = new Square();   // default constructor called
  Square s2 = new Square(5);  // parameterized constructor called
  Square s3;                  // No constructor called
}

関連記事 - C++ Constructor