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.
Komal said:
1 decade ago
We cannot use scope resolution operator in main function.
(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.
Abhay fegade said:
1 decade ago
Non static method can also access the static data.
(1)
Kajju said:
9 years ago
int IndiaBix::x = 0; How to interpret this?
(1)
Abcd said:
9 years ago
There is no object to use class members.
(1)
Rao Waqar said:
5 years ago
@Pooja is right. Only static function can access static data members.
Jitendra said:
5 years ago
No. Only static functions can access static members.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers