-3

たとえば、次のようなクラスがあるとします。

#import "B.h"
class A
{
    B object;
};

A オブジェクトを作成すると、B のコンストラクターが呼び出されますか?

4

4 に答える 4

3

はい、既定のコンストラクターが呼び出されるか (存在する場合)、または の既定のコンストラクターがない場合はコンパイラ エラーが発生しますB

于 2012-04-17T16:40:08.120 に答える
2

はい。これをテストする 1 つの方法は、コンストラクターにいくつかの単純な cout 呼び出しを配置し​​て、コンストラクター呼び出しが発生するのを監視することです。

于 2012-04-17T16:39:45.257 に答える
0

はい、メンバーコンストラクターは、含まれているクラスの宣言順に呼び出されます。

于 2012-04-17T16:49:47.630 に答える
0

このルールは両方の方法に適用され、クラス 'A のデストラクタを呼び出すと、そのメンバーのデフォルトのデストラクタが呼び出されます。

于 2012-04-17T17:30:08.173 に答える