True or false: main is always the first function called in any C++ program? Technically, this is true in C. But in C++, there is one way you can excute code before main is called—and that's by instantiating a global object that has a defined constructor. In this case, the constructor executes before entering main.
Here's an example:
#include<iostream>
using namespace std;
class runfirst
{
public:
runfirst(void)
{
cout << "we are in runfirst can you believe it" << endl;
}
} dofirst;
int main()
{
cout << "woops we arrived to the party late in main" << endl;
return 0;
}