Predict the output of following C++ program.
(A) 0 0
(B) 5 5
(C) 0 5
(D) Compiler Error
Explanation: Static functions can be called without any object. So the call “Test::getX()” is fine.
Since x is initialized as 0, the first call to getX() returns 0. Note the statement x++ in constructor. When an array of 5 objects is created, the constructor is called 5 times. So x is incremented to 5 before the next call to getX().
Quiz of this Question
GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details
- C++ | Static Keyword | Question 4
- C++ | Static Keyword | Question 3
- C++ | Static Keyword | Question 5
- C++ | Static Keyword | Question 6
- C++ | Static Keyword | Question 2
- Static Keyword in C++
- Comparison of static keyword in C++ and Java
- Output of Java Programs | Set 48 (Static keyword)
- Understanding storage of static methods and static variables in Java
- Understanding "static" in "public static void main" in Java
- Difference between static and non-static method in Java
- Difference between static and non-static variables in Java
- C++ | friend keyword | Question 1
- C++ | friend keyword | Question 2
- C++ | const keyword | Question 5