0
如果我有两个头文件Test1.h和Test2.h,我在其中分别定义了Test1和Test2类,并在头文件中实例化了这些类的2个对象,并将它们包含在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”是指定义标题中的对象。它基本上破坏了将某些东西放在标题中的目的(即,如果将标题包含在多个源文件中,则会获得这些对象的多个定义,这会导致未定义的行为)。 – 2012-04-19 04:44:56