在这三种情况下,您将如何调用以下类的构造函数:全局对象、对象数组和包含在另一个类/结构中的对象?
具有构造函数的类(在所有三个示例中都使用):
class Foo {
public:
Foo(int a) { b = a; }
private:
int b;
};
以下是我调用此构造函数的尝试:
全局对象
Foo global_foo(3); // works, but I can't control when the constructor is called.
int main() {
// ...
}
对象数组
int main() {
// Array on stack
Foo array_of_foos[30](3); // doesn't work
// Array on heap
Foo *pointer_to_another_array = new Foo(3) [30]; // doesn't work
}
在那里,我试图为数组的所有元素调用构造函数,但我也想知道如何在单个元素上调用它。
类/结构中包含的对象
class Bar {
Foo foo(3); // doesn't work
};
int main() {
Bar bar;
}