C++ステップ-初期化リスト
1665 ワード
この間、先生が授業中に講義したLinuxプログラム設計コードを研究していたところ、先生が提供したライブラリ関数に初期化リストが出てきて、以前勉強していたC++カリキュラムの知識を忘れてしまったので、C++初期化リストを再学習することにしました.
C++初期化リストは、メンバー変数を初期化するために使用されます.
使用1:基本データ型メンバー変数の初期化は、構造関数に配置してもよいし、初期化リストを使用して初期化してもよい.次のようになります.
C++初期化リストは、メンバー変数を初期化するために使用されます.
使用1:基本データ型メンバー変数の初期化は、構造関数に配置してもよいし、初期化リストを使用して初期化してもよい.次のようになります.
class CLPerson
{
public:
CLPerson(int i):height(i)
{}
private:
int height;
};
または、class CLPerson
{
public:
CLPerson(int i)
{
height=i;
}
private:
int height;
};
2:
constメンバー の には、 リストを する があります.class CLPerson
{
public:
CLPerson(int i):cHeight(height)
{
height=i;
}
public:
int &cHeight;
private:
int height;
};
のコードでは、クラス はcHeightでheightにアクセスできます(getメソッドを するのと じです)が、クラス ではheightを することはできません. を することで、データのカプセル が し、クラス でプライベートデータメンバーにアクセスしやすくなります.
3:クラスのメンバー が のクラスのオブジェクトである 、 リストを して する があります.【クラスのメンバーオブジェクトは する がありますが、メンバーオブジェクトを コンストラクション で することはできません】class CLMan
{
public:
CLMan(string na,int ag)
{
name = na ;
age = ag ;
}
private:
string name;
int age ;
}
class CLPerson
{
public:
CLPerson(int i):man(Smith,21),cHeight(height)
{
height=i;
}
public:
int &cHeight;
private:
CLMan man;
int height;
};
また、オブジェクトメンバーの には、 するコンストラクション が であり、 のオブジェクトメンバーのコンストラクション は、メンバーリストの ではなく、 の で われます.