Execute Code Before Entering the Main Function

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;
}