如果将类的对象声明为另一个类的实例变量,则调用该类的构造函数

Is the constructor of a class called if you declare a object of that class as an instance variable of another class?

本文关键字:调用 变量 构造函数 另一个 对象 声明 如果 实例      更新时间:2023-10-16

例如,如果我有这样的类;

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

当我创建 A 对象时,B 的构造函数会被调用吗?

是的,如果没有默认构造函数,将调用默认构造函数(如果存在),或者将触发编译器错误 B

是的。测试这一点的一种方法是在构造函数中放置一些简单的 cout 调用来观察构造函数调用的发生。

是的

,成员构造函数按包含类的声明顺序调用。

应该

提到这个规则是双向的,调用类'A'析构函数称其成员为默认析构函数。