0
Test1.hとTest2.hという2つのヘッダーファイルがある場合は、Test1とTest2のクラスをそれぞれ定義し、それらのクラスの2つのオブジェクトをmainに含まれるヘッダーファイルにインスタンス化します。 main関数を含むcpp(Test1.hとTest2.hの順番で)、どのような順序でtest1とtest2オブジェクトがインスタンス化されますか?グローバル変数のインスタンス化の順序
// Test1.h
class Test1
{
};
Test1 test1;
// Test2.h
class Test2
{
};
Test2 test2;
// main.cpp
#include "Test1.h"
#include "Test2.h"
int main(int argc, const char * argv [])
{
return 0;
}
本当の答えは簡単です。「しないでください!この場合、「that」はヘッダー内のオブジェクトの定義を指します。ヘッダーを最初に配置する目的を基本的に破棄します(複数のソースファイルにヘッダーを含めると、定義されていない動作が複数発生する)。 –