0
#include<iostream>
using namespace std;

class Myclass {
    public:
    static int i;
    Myclass()
    {
        i=3;
        Fun();
    }
    void Fun()
    {

        i--;
        if(i>0)
            Fun();
        cout<<i;
        i++;
    }

};




int main()
{
    Myclass *p = new Myclass();

    return 0;
}

What's wrong with this? undefined reference to Myclass::i' errors occur. But If I remove Myclass *p = new Myclass();, then the program executes. What should be the output of this? As there is a line as static int i; I suggest the output 000 Would anybody please explain?

Thanks in advance

0 Answers0