学習の2週目:コンストラクター関数

  1. コンストラクタも一種のメンバー関数です
  • クラス名と同じ名前、戻り値なし、オプションのパラメーター
  • オブジェクトが生成されると、コンストラクタは自動的に呼び出されます。オブジェクトが生成された後、コンストラクタは無効になります(オブジェクトが存在する前にコンストラクタが呼び出されます)
  • 複数のコンストラクター
  1. なぜ必要なの?
  • 初期化関数を記述する必要はなく、初期化関数の呼び出しを忘れる心配もありません。
  • 一部のオブジェクトは、間違いを避けるために初期化される前に使用されます。
  1. 使用する
  • デフォルトのコンストラクターが必要です。コンストラクターを自分で作成する場合は、デフォルトのコンストラクターを作成する必要があります(完全なデフォルトのパラメーターを使用するか、パラメーターを使用しません)。
  • 初期化リストを介して初期化できます
  • コンストラクターのポリモーフィズム

配列でのコンストラクタの使用:

#include<iostream>
using namespace std;
class Test{
    
    
	private:
		int x;
	public:
		Test():x(0){
    
    cout<<"Constructor 1 called\n";}
		Test(int n):x(n){
    
    cout<<"Constructor 2 called\n"; }
}; 

int main()
{
    
    
	Test a[2];
	Test b[2]{
    
    3,4};
	Test c[2]{
    
    3};
	Test* d = new Test[2];
	delete [] d;
	return 0;
}

結果:ここに画像の説明を挿入
Test* e[3]={new Test(3),new Test};e:はポインターの配列であり、ポインターは自動的にコンストラクターを呼び出さないためこれはコンストラクターを2回呼び出します)

おすすめ

転載: blog.csdn.net/ZmJ6666/article/details/108550884