C++ 構造体コンストラクターの理解:目的、構文、および使用法
コンストラクターは、クラス型のオブジェクトと構造体の初期化に使用される必要なメンバー関数と呼ばれることがよくあります。他のプログラミング言語と同様に、C++ でもコンストラクターが使用されます。これは、構造体の未初期化または未定義の動作を回避するための特定のメソッドでオブジェクトを作成するために利用されます。
このガイドでは、以下について説明します。
- C++ の「struct」コンストラクターとは何ですか?
- C++ でコンストラクターを定義するための重要なポイント
- C++ の「struct」コンストラクターの構文
- C++ における「struct」コンストラクターの動作
- C++ のデフォルトの「struct」コンストラクター
- C++ のパラメータ化された「struct」コンストラクター
- C++ で構造体コンストラクターのポインターを作成する方法
- 最終行
C++ では、「構造体」 」は、構造体内の特殊な関数メンバである構造体として知られています。 「struct」コンストラクターは、そのメンバー変数を初期化するために使用され、ユーザーが混合データ型で構成される変数の新しいグループを 1 か所で作成できるようにします。簡単に言うと、 「構造」です。 コンストラクターは、ユーザーがクラスのオブジェクトを宣言するたびに自動的に呼び出される特定のメソッドです。
C++ でコンストラクターを定義するための重要なポイント
C++ でコンストラクターを定義するための重要なポイントをいくつか示します。
- コンストラクターは、それが属するクラスと常に同じ名前になります。
- コンストラクターがユーザーによって提供されない場合は、デフォルトのコンストラクターが生成されます。
- コンストラクターは、入出力操作ではなく初期化に使用されます。
- オペレーターの助けを借りて、実行時にメモリを見つけるために使用されます。
- 仮想および静的として宣言することはできません。
- ユーザーは複数のコンストラクターを宣言できます (オーバーロード可能)。
C++ の「struct」コンストラクターの構文
構造体コンストラクターの一般的な構文を確認してみましょう。
struct 構造名{
d_type 変数 1;
d_type 変数 2;
……
……
//パラメータなしのコンストラクタ
構造体名()
{
//コード
}
//パラメータ付きコンストラクタ
構造体名 (d_type 変数 1, d_type 変数 2,...)
{
//コード
}
};
上記の構文によれば、次のようになります。
- 「構造名」 」はユーザーの好みの構造名に置き換えられ、「構造体」で定義されます。 ” キーワード。
- 「d_type 変数 1」 ” は、異なるデータ型の変数名を表します。
- 次に、「構造名()」 ” コンストラクターはパラメーターなしで定義されています。
- 次に、「Structure-Name(d_type variable1,…)」など、パラメータ化されたコンストラクターの構文も定義されています。 ” はパラメータ化されたコンストラクタを表します。
注意 :「struct」宣言は、C++ のクラス宣言と同じです。
C++ における「struct」コンストラクターの仕組み
C++ では、ユーザーは要件に応じてパラメーターなしでもパラメーターありでも struct コンストラクターを使用できます。理解を深めるために、次のコードのデモを確認してみましょう。
C++ でデフォルトの「struct」コンストラクターを作成する
C++ でデフォルトの構造体コンストラクターを作成するには、次のコード ブロックをチェックアウトしてください。
#include
名前空間 std を使用します;
ストラクチャーフォーク{
文字列名;
フロートの高さ;
整数の年齢;
フォーク(){
名前="デビッド";
高さ =6.7;
年齢 =26;
cout<<"名前:"<<名前<
};
int main()
{
folk();
}
上記のコード ブロックでは次のようになります。
- 最初に、「# include
」 を追加しました。 入出力ストリーム ライブラリをヘッダー ファイルとして使用します。 - 次に、「名前空間 std を使用」を使用しました。 標準ライブラリ識別子の使用を有効にするため。
- その後、「folk()」を作成しました。 「name」など、異なるデータ型を持つ 3 つのメンバーを含む構造体 ” を文字列として、”高さ ” を float として、そして “年齢” ” をそれぞれ整数型として使用します。
- 次に、構造体のコンストラクターを追加し、メンバーをそれぞれの値で初期化します。コンストラクター本体内で、フォーク構造のデータを定義し、「cout」を使用しました。 ” ステートメントを使用して、結果をコンソールに表示します。
出力
C++ でパラメータ化された「struct」コンストラクターを作成する
C++ でパラメータ化されたコンストラクターを作成するには、以下のコードを試してください。
#include
名前空間 std を使用します;
ストラクチャーフォーク{
文字列名;
フロートの高さ;
整数の年齢;
folk(string x, float y, int z){
名前 =x;
高さ =y;
年齢 =z;
}
};
int main()
{
folk f1("Ayzel", 5.1, 23);
cout<<"名前:"<
ここ:
- 前に説明した例を拡張し、「x」などの変数をそれぞれのデータ型とともにパラメータとしてコンストラクターに渡しました。 ” を文字列として、”y ” を float として、そして “z” ” を整数として指定します。
- 最後に、「main()」内 」関数を使用して、「f1」という名前のオブジェクトを作成しました。 ” と値を指定してコンストラクターを呼び出しました。そこで活用したのが「コート」です。 ” ステートメントを使用して、変数の結果の値をコンソールに出力します。
出力

C++ で構造体コンストラクターのポインターを作成する方法
ポインタは、オブジェクトのメモリ アドレスを格納するために使用される変数です。 C++ では、ポインタは配列の要素やその他のデータ構造を反復処理したり、その他多くの目的で使用されます。ポインター変数は、構造体のようなユーザー定義型に対しても作成されます。構造体のポインターを作成するために提供されている例を見てみましょう。
#include
#include
名前空間 std を使用します;
ストラクチャーフォーク
{
文字列名;
年齢;
};
int main(){
struct folk f ={"エリス ", 28};
struct folk *ptr;
ptr =&f;
cout <
}
上記のコードでは:
- 「
」 を追加しました。 および「」 ヘッダー ファイル。 - 次に、「名前空間 std を使用」を指定します。 標準ライブラリ識別子の使用を有効にするため。
- 次に、「folk()」を作成しました。 「name」など、異なるデータ型を持つ 2 つのメンバーを持つ構造体 ” を文字列として、そして “年齢” ” をそれぞれ整数型として使用します。
- その後、ポインタ「ptr」を定義しました。 」 を「民衆に」 」構造。
- ここで、ポインタ「ptr」を作成しました。 」 を指して「f」 ” 構造体変数。したがって、「ptr」 」は構造体変数「f」のアドレスを保存するようになりました。 ”。
- 最後に、「->」を使用しました。 」演算子を使用して、その構造体へのポインタを使用して、構造体の構造体メンバーのデータ メンバーにアクセスします。
上記のコードの出力は次のとおりです。

最終行
C++ では、「構造体」 」は、メンバー変数を初期化し、ユーザーが混合データ型で構成される変数の新しいグループを 1 か所で作成できるようにするために使用される、構造体内の特別なメンバー関数である構造体として知られています。ユーザーはパラメーター コンストラクターを使用しても使用せずに定義できます。 C++ では、構造体のようなユーザー定義型に対してポインター変数も作成されます。 C++ の構造体コンストラクターに関する詳細情報を示しました。
著者について
マリア・ナズ
私はコンピューターサイエンスの修士号を取得しています。私は自分の仕事に情熱を持っており、新しいテクノロジーを探索し、プログラミング言語を学習しており、自分の知識を世界と共有することが大好きです。
-
C++で親ポインタを持つ二分木の正しい兄弟を見つける
この問題では、二分木と親ポインタが与えられます。私たちの仕事は、親ポインタを持つ二分木の正しい兄弟を見つけることです。 問題を理解するために例を見てみましょう 入力 Node = 3 出力 7 ソリューションアプローチ この問題の簡単な解決策は、現在のノードと同じレベルにある最も近い祖先(現在のノードでも現在のノードの親でもない)のリーフノードを見つけることです。これは、上昇中にレベルをカウントし、次に下降時にレベルをカウントダウンすることによって行われます。そして、ノードを見つけます。 ソリューションの動作を説明するプログラム 例 #include <bits/st
-
C ++プログラムを使用してプログラムを起動するにはどうすればよいですか?
ここでは、メモ帳などのサードパーティアプリケーションやC++プログラムを使用したものを起動する方法を説明します。このプログラムは非常に単純で、コマンドプロンプトコマンドを使用してこのタスクを実行できます。 system()関数内でアプリケーション名を渡します。これにより、それに応じて開きます。 例 #include <iostream> using namespace std; int main() { cout >> "Opening Nodepad.exe" >> endl; sy