What will be the output of the following C++ code?
#include <iostream>
using namespace std;
class Test
{
static int x;
public:
Test() { x++; }
static int getX() {return x;}
};
int Test::x = 0;
int main()
{
cout << Test::getX() << ” “;
Test t[5];
cout << Test::getX();
}
a) 0 0
b) 5 0
c) 0 5
d) 5 5
Answer: c
Explanation: Static function can be called without using objects therefore the first call is fine. Next when we are creating 5 objects of the class then value of x is updated each time and as static variables are global to class therefore each updation of x is reflected back to each object hence value of x is 5.
Related Posts
Which of the following gives the memory address of the first element in array?
Which of the following accesses the seventh element stored in array?
What is the correct definition of an array?
What is the index number of the last element of an array with 9 elements?
Which of the following correctly declares an array?
What will be the output of the following C++ code?
#include <iostream>
using namespace std;
int main()
{
char *ptr;
char Str[] = “abcdefg”;
ptr = Str;
ptr += 5;
cout << ptr;
return 0;
}What will be the output of the following C++ code?
#include <iostream>
using namespace std;
int main()
{
char arr[20];
int i;
for(i = 0; i < 10; i++)
*(arr + i) = 65 + i;
*(arr + i) = ‘\0’;
cout << arr;
return(0);
}
Join The Discussion