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";
}
#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. 67
Answer: Option C
What does the 'sizeof' operator return in C++?
A. Size of a data type in bits
B. Size of a data type in bytes
C. Size of a variable in bytes
D. Size of a variable in bits
What is the purpose of the 'static' keyword in C++?
A. To declare a variable with dynamic storage duration
B. To declare a constant
C. To declare a variable with external linkage
D. To declare a variable with static storage duration
What is the difference between '++i' and 'i++' in C++?
A. None of the above
B. They both have the same effect
C. '++i' increments the value of 'i' before returning it, while 'i++' increments the value of 'i' after returning it
D. '++i' increments the value of 'i' after returning it, while 'i++' increments the value of 'i' before returning it

Join The Discussion