C++ ⇒ VBA 書いて覚えるための初心者自己中記事

C++ ⇒ VBA 勉強の履歴を付けるというかノート代わりに使ってます

C++ class 自動で作られるデフォルトコンストラクタについて少し 書いて覚える初心者自己中記事

class 内に自分で作った引数なしのコンストラクタ

「デフォルトコンストラクタ」

 

class 内に自分で作った引数のあるコンストラクタ

「コンストラクタ」

(引数付きコンストラクタ)

 

class 内に自分でコンストラクタを作らなかった

「自動で生成されるデフォルトコンストラクタ」

(デフォルトのデフォルトコンストラクタ)

 

 

 

自分で作ったコンストラクタは普通に自分で書いた通りに動く

 

コンストラクタを作らなかった場合に自動で生成されるデフォルトコンストラクタは何もしない

言いすぎた。基本型のメンバに対して何もしない。冷たい。

この言い方だと含みがある。

 

基本型には何もしないって、じゃあ他の何型に何をするのか。

 

これはgoogle先生に聞いたらわかった。

 

自分でコンストラクタを書いた classA

コンストラクタを書かなかった classZ

があるとして

 

classZ のメンバ変数に classA型 のメンバを作った時の話です。他にもメンバ変数は作るけどどれも基本型。

classZ にはコンストラクタが書かれていないから自動で生成されます。

この自動生成コンストラクタは基本型のメンバに対して何もしません。

classA型 のメンバに対しても直接手を下すような感じではないのですが、classA にチクります。

 

classZ 「俺のところにあんたの型のやつがメンバになってるんだけど?」

classA 「マジか。じゃあこんな感じで初期化ヨロ。」

classZ 「おk 伝えとくは」

 

こんな感じらしいです。

よし覚えた。