C ++のパラメーター化されたコンストラクター:作業と例
公開: 2021-05-27目次
コンストラクターとは何ですか?
コンストラクターは、クラス内のオブジェクトを初期化するために使用されるクラスのメンバー関数です。 C ++では、クラスのインスタンスであるオブジェクトが作成されると、コンストラクターが自動的に呼び出されます。 したがって、コンストラクターはクラスの特別なメンバー関数です。
パラメータ化されたコンストラクタとは何ですか?
引数はコンストラクターに渡すことができます。 オブジェクトが作成されると、これらの引数はオブジェクトの初期化に役立ちます。 C ++でパラメーター化されたコンストラクターを作成するには、他の関数に追加できるのと同じように、関数にパラメーターを追加できます。 コンストラクターの本体が定義されると、パラメーターはオブジェクトを初期化するために使用されます。
C++でのパラメーター化されたコンストラクターの構文
クラスname_of_class{
アクセス指定子(パブリック/保護/プライベート):
メンバー変数
メンバー機能
公衆:
name_of_class(variables){//コンストラクターのコード
}
//他の関数と変数
}
構文には、name_of_classと、それに続くメンバー関数とメンバー変数を含むアクセス指定子が含まれていました。 これらはすべてコンストラクターコードに含まれています。つまり、コンストラクターの本体で呼び出すことができます。
また読む: C++用のオープンソースプロジェクト
C++でのパラメーター化されたコンストラクターの例
#include <iostream>
名前空間stdを使用します。
クラス例
{{
プライベート:
int a、b;
公衆:
//パラメータ化されたコンストラクタ
例(int a1、int b1)
{{
a = a1;
b = b1;
}
int getA()
{{
返す;
}
int getB()
{{
bを返す;
}
};
int main()
{{
//コンストラクターを呼び出す
例e1(5、10);
cout <<“ e1.a =” << e1.getA()<<“、e1.b =” << e1.getB();
0を返します。
}
出力
説明:プライベート変数aおよびbは、クラスExampleで宣言されています。 パラメータ化されたコンストラクタは、関数Exampleを使用して宣言されます。 getA()とgetB()の2つのメソッドが含まれています。 メインクラスでは、コンストラクターが呼び出され、コンストラクターのアクセス値が割り当てられます。
C ++のパラメーター化されたコンストラクターはどのように機能しますか?
オブジェクトが開始されます。このオブジェクトは、C ++でパラメーター化されたコンストラクターが定義されるたびに、オブジェクトが処理または含む値または詳細とパラメーターを保持します。 そうすれば、引数をそのオブジェクトに渡すことが可能になります。 手順は、関数に値を渡すのと非常によく似ています。 また、パラメータ化された値をオブジェクトに渡すことと類似しています。
コンストラクターの本体で定義されているオブジェクトは、パラメーターを使用して初期化されます。 パラメータ化されたコンストラクタが宣言されるたびに、値はコンストラクタ関数に引数として渡される必要があります。 これらのコンストラクターは、明示的または暗黙的に呼び出すことができます。 オブジェクト宣言の従来の方法は機能しません。
注:通話の種類-
- 明示的な呼び出し-例e1=Example(0,10)
- 暗黙の呼び出し-例e1(0,10)
チェックアウト:初心者向けのC++でのプロジェクトのアイデア
C ++でのパラメーター化コンストラクターの使用とは何ですか?
パラメーター化されたコンストラクターの使用法は次のとおりです。
- コンストラクターのオーバーロード
- 初期化/作成時に、さまざまなオブジェクトのさまざまなデータ要素にさまざまな値を割り当てるために使用されます
もう一つの例:
1.長方形の面積を計算するプログラム
#include <iostream>
名前空間stdを使用します。
//クラスを宣言する
クラス長方形{
プライベート:
ダブルレングス;
倍幅;
公衆:
//パラメーター化されたコンストラクターを作成します
長方形(double len、double brt){
//プライベート変数を初期化します
長さ=len;
幅=brt;
}
doublecalculateArea(){
戻り長さ*幅;
}
};
int main(){
//オブジェクトの作成とデータメンバーの初期化
長方形rect1(10、8.6);
長方形rect2(8.5、6);
cout <<“長方形1の面積:” << rect1.calculateArea()<< endl;
cout <<“長方形2の面積:” << rect2.calculateArea()<< endl;
0を返します。
}
出力
説明:この例では、doublelenとdoublebdtの2つのパラメーターを持つパラメーター化されたコンストラクターrectangle()を作成しました。 これらのパラメーターには、メンバー変数の長さと幅を初期化するために使用される値が含まれています。 Rectangleクラスのオブジェクトを作成するとき、メンバー変数の値を引数として渡します。 メンバー変数が初期化されるときに、calculateArea()関数を使用して面積を計算できます。
1.生徒のマークを表示する
#include <iostream>
名前空間stdを使用します。
クラス学生{
公衆:
intstd_id;//データメンバー
stringstd_name;//インスタンス変数も
float std_marks;
Student(int i、string a、float b)
{{
std_id = i;
std_name = a;
std_marks = b;
}
void display()
{{
cout << std_id <<”“ << std_name:<<”“ << std_marks << endl;
}
};
int main(void){
Student s1 = Student(101、“ Soniya”、89); //学生のオブジェクトを作成する
Student s2 = Student(102、“ Nakul”、59);
s1.display();
s2.display(); 0を返します。
}
出力
説明:id、name、およびmarksはデータメンバー(インスタンス変数でもあります)です。 Studentはパラメーター化されたコンストラクターであり、そのオブジェクトはメインクラスで作成されます。
世界のトップ大学からオンラインでソフトウェア開発コースを学びましょう。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。
結論
コンストラクターは、値を渡すことができる特別な種類のメソッドです。 コンストラクターに値を渡さない場合、エンドオブジェクトにはデフォルト値があります。 [1] [MOU2]オブジェクトは、メインクラスの一部であるメンバー変数のメソッドと値を保持します。 これらの値は、最終的にコンストラクターを介して渡されます。 C ++のパラメーター化されたコンストラクターには、さまざまなオブジェクトにさまざまな値を割り当てるという利点があり、オーバーロードが発生する可能性があります。
C ++のパラメーター化されたコンストラクターについて理解したので、プログラミングのキャリアをさらに深く掘り下げて上に移動したい場合は、インド最大のオンライン高等教育会社であるupGradのコースを探索してください。 フルスタックソフトウェア開発プログラムを確認する必要があります。
コンストラクターとは何ですか?
コンストラクターは、クラスと同じ名前を持つクラスの特別なメソッドです。 このメソッドは、クラスが作成(インスタンス化)されるときに自動的に呼び出されるため、特別です。 コンストラクターに引数がない場合、クラスは空の値でインスタンス化されています。 コンストラクターは初期化タスクを実行し、クラスのインスタンス変数を初期化します。 コンストラクターの主な目的は、オブジェクトのプロパティの値を確立することです。 また、1回だけ実行する必要のある操作を実行するためにも使用されます。 コンストラクターは通常、クラスでpublic staticとして宣言され、オブジェクトはこのコンストラクターを使用して作成されます。
1つのクラスにいくつのコンストラクターが存在できますか?
C ++について話している場合、コンストラクターの数は無制限です。 ただし、マシンのメモリ制限、クラスの複雑さなど、他の理由で他の制限がある場合があります。したがって、コンストラクターの数は無制限ですが、コンストラクターパラメーターの数は無制限ではありません。 クラスには、必要な数のコンストラクターを含めることができます。 ただし、デフォルトのコンストラクターは必須です。 デフォルトのコンストラクターを持たないクラスはすべて抽象クラスです。 抽象クラスはインスタンス化できません。
オブジェクト指向プログラミングとは何ですか?
オブジェクト指向プログラミングは、「オブジェクト」をプログラムまたはコンピュータシステムの基本的な構成要素として扱うプログラミングパラダイムです。 オブジェクトは、フィールドの形式でデータを含めることができるソフトウェアエンティティであり、多くの場合、属性と呼ばれます。 プロシージャの形式のコード。多くの場合、メソッドとして知られています。 オブジェクト指向プログラミングは、初期のプログラミング言語で一般的だった手続き型ロジックや制御フローではなく、データとそれを取り巻くルールに焦点を当てています。 OOPは、個々の要素のセットとしてではなく、データ全体を扱います。