我看到这个关于构造函数的问题,我不明白为什么变量a调用构造函数。
我认为这是一个错误,因为变量声明main在其名称之前没有声明全局,并且它们只a;在其名称之前没有声明类名。编译器如何知道变量的类型Test?
#include <iostream>
using namespace std;
class Test
{
public:
Test() { cout << "Hello from Test() "; }
} a;
int main()
{
cout << "Main Started ";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出的答案是 - "Hello from Test() Main Started"。