ExamVeda
Login
Home
C plus plus miscellaneous
?

What will be the output of the following C++ code?
#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";
}

Answer & Solution
Correct Answer: Option C
Let's discuss the solution. Join the discussion
Examveda
Question posted by Examveda
Community

Join the Discussion

No comments yet Be the first to discuss this question.