あなたの質問には多少意味のあるタイトルが付いていますので、私もそれらにもお答えしようと思います。 (あなたは本当に複数の質問を複数の投稿に入れてください)。
。割り当てが最初に行われます。これは、明らかに、オブジェクトが割り当てられるまでが存在しないためです。その後、コンストラクタを実行してオブジェクトに値を渡すことができます。
Q2。
1. If an object is destroyed with DELETE operator. Will destructor be called?
はい。
2. If a destructor is called explicitly (e.g. a1.~A()) to destroy the object?
ここに本当の質問はありません。
3. Neither explicit destructor call is made nor DELETE operator is used to destroy the object but object goes out of scope.
この質問はあいまいです。その削除の側面は、オブジェクトがヒープ上に割り当てられたことを意味します。その場合、スコープから外れることはありません...しかし、オブジェクトへのポインタはが範囲外になります。これがあなたが話していることであれば、メモリリークが発生します。
しかし、スタックに割り当てられたオブジェクトについて話している場合、そのデストラクターはスコープ外になると呼び出されます。
これに意味のあるタイトルを付け、関係のない2つの質問をします。 –
Evanが言ったように、他の人に恩恵を受けるように質問をフォーマットしてみてください。 2つの質問がある場合は、別々に質問し、それぞれに意味のあるタイトルを付けます。そうすれば、次回誰かが同じ問題に遭遇したときに、彼らはあなたの質問を検索して見つけることができます。 – jalf
私は2つの疑問も持っています.1つは宿題の質問ではなく、もう1つはあなたのためにそれをやろうとしていることです。 –