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;
}Discussion:
19 comments Page 2 of 2.
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.
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.
Pravin said:
1 decade ago
We can't call non static function without creating object. So D is the right option.
Venkat said:
1 decade ago
The class Indiabix don't have an object for call a member function dispaly().
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.
Dhaval said:
1 decade ago
Non static method can't access static member!
Deepak Kumar said:
1 decade ago
Because Display() is non-static method and non-static methods are always called using object.
eg :-
IndiaBix obj;
obj.Display();
Correct way to call.
eg :-
IndiaBix obj;
obj.Display();
Correct way to call.
Pooja said:
1 decade ago
No. Only static functions can access static members.
Rao Waqar said:
6 years ago
@Pooja is right. Only static function can access static data members.
Gaurav said:
1 decade ago
Because display is called without any object.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers