グローバル オブジェクト、オブジェクトの配列、および別のクラス/構造体に含まれるオブジェクトの 3 つの状況で、次のクラスのコンストラクターをどのように呼び出しますか?
コンストラクターを持つクラス (3 つの例すべてで使用):
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;
}