有这样一个题目:类A的定义如代码所示,问执行 A b[3]; 输出结果是什么。
class A{
public:
A(){ cout<<"*"; }
};
运行发现,结果为 ***。 也就是说,执行了3次构造函数。
由此可知,当数组类型为类时,每个数组元素的内存分配都会调用一次类的构造函数。
有这样一个题目:类A的定义如代码所示,问执行 A b[3]; 输出结果是什么。
class A{
public:
A(){ cout<<"*"; }
};
运行发现,结果为 ***。 也就是说,执行了3次构造函数。
由此可知,当数组类型为类时,每个数组元素的内存分配都会调用一次类的构造函数。