C++ Programming - Objects and Classes - Discussion

Discussion Forum : Objects and Classes - Programs (Q.No. 2)
2.
Which of the following statement is correct about the program given below?
#include<iostream.h> 
class IndiaBix
{
    static int x; 
    public:
    static void SetData(int xx)
    {
        x = xx; 
    }
    void Display() 
    {
        cout<< x ;
    }
};
int IndiaBix::x = 0; 
int main()
{
    IndiaBix::SetData(33);
    IndiaBix::Display();
    return 0; 
}
The program will print the output 0.
The program will print the output 33.
The program will print the output Garbage.
The program will report compile time error.
Answer: Option
Explanation:
No answer description is available. Let's discuss.
Discussion:
19 comments Page 1 of 2.

Jitendra said:   5 years ago
No. Only static functions can access static members.

Rao Waqar said:   5 years ago
@Pooja is right. Only static function can access static data members.

Abcd said:   9 years ago
There is no object to use class members.
(1)

Kajju said:   9 years ago
int IndiaBix::x = 0; How to interpret this?
(1)

Abhay fegade said:   1 decade ago
Non static method can also access the static data.
(1)

Kathiravan said:   1 decade ago
Because the display is just a member function of class. It can be called in main fn by creating object. Only the static fn or variable called by class name and scope resolution.

Komal said:   1 decade ago
We cannot use scope resolution operator in main function.
(1)

Pravin said:   1 decade ago
We can't call non static function without creating object. So D is the right option.

Jagadish said:   1 decade ago
This pointer doesn't works in static member functions since the static member functions doesn't require an object to invoke the member function.

And display member function function is not a static member function it is normal member function so if we call display we need to create a object then it call.

Dixit said:   1 decade ago
Can not call display() function without object! Because display() is not declared static.
(1)


Post your comments here:

Your comments will be displayed after verification.