Constructors and Destructors - Programming

Q1:

What will be the output of the following program?
#include<iostream.h> 
int val = 0; 
class AptitudeCrack
{
    public: 
    AptitudeCrack()
    {
        cout<< ++val;
    }
    ~AptitudeCrack()
    {
        cout<< val--; 
    } 
}; 
int main()
{
    AptitudeCrack objAptitude1, objAptitude2, objAptitude3;
    {
        AptitudeCrack objAptitude4;
    } 
    return 0;
}

A 1234

B 4321

C 12344321

D 12341234

E 43211234

ANS:C - 12344321

No answer description is available. Let's discuss.