adplus-dvertising
frame-decoration

Question

What is the output of this program?
    #include <iostream>
    using namespace std;
    struct X;
    struct Y 
    {
        void f(X*);
    };
    struct X 
    {
        private:
        int i;
        public:
        void initialize(); 
        friend void g(X* , int);
        friend void Y :: f(X*);
        friend struct Z;
        friend void h();
    };
    void X :: initialize() 
    {
        i = 0;
    }
    void g(X* x, int i) 
    {
        x -> i = i;
    }
    void Y :: f(X * x) 
    {
        x -> i = 47;
        cout << x->i;
    }
    struct Z 
    {
        private:
        int j;
        public:
        void initialize();
        void g(X* x);
    };
    void Z::initialize() 
    {
        j = 99;
    }
    void Z::g(X* x) 
    {
        x -> i += j;
    }
    void h() 
    {
        X x;
        x.i = 100;
        cout << x.i;
    }
    int main() 
    {
        X x;
        Z z;
        z.g(&x);
        cout << "Data accessed";
    }

a.

99

b.

47

c.

Data accessed

d.

None of the mentioned

Answer: (c).Data accessed

Engage with the Community - Add Your Comment

Confused About the Answer? Ask for Details Here.

Know the Explanation? Add it Here.

Q. What is the output of this program?