Explain static member functions, C/C++ Programming

Assignment Help:

Static Member Functions

All the objects of the class share static data members of a class. The example above demonstrates how to keep track of all the objects of a class which area in existence. Though, this function uses existing objects to invoke a member function getcount(), which returns the value of the static data member. What if the programme does not require to use objects to invoke this function and still the programme would like to know how many objects have been created? If there is no object how the member function is invoked? Further, as can be seen from the last output, the number of objects (count) remains similar at a given instance no matter which object is used to invoke the member function.  In fact, the use of existing objects, like in the above instance, is not an effective way to access the value of the static data member. A specific object should not be used to refer to this member, as it does not belong to that object; it belongs to the whole class. C++ gives a facility to define static function members, for the similar. That is, to invoke such a function, an object is not needed. It can be invoked with the name of the class. The programme given below illustrates its use.

 

                class counter

                 {

                  public :

                                                counter ();

                                                static int getcount();

 

                  private:

                                static int count;

                };

counter::counter ()

                 {

                                count++;

                 }

 

                int counter::getcount()

                 {

                                 }

 

int counter :: count = 0;        // INITIALIZATION OF  

                                    STATIC MEMBER.

void main()

                 {

                  counter c1,c2;

                                cout << " Count = " << counter :: getcount() << endl;

                                cout << " Count = " << counter :: getcount() << endl;

                  counter c3;

                cout << " Count = " << counter :: getcount() << endl;

 

                  counter c4,c5;

 

                                cout << " Count = " << counter :: getcount() << endl;

                                cout << " Count = " << counter :: getcount() << endl;

                  }

Output:

                Count = 2

                Count = 2

                Count = 3

                Count = 5

                Count = 5

 

 


Related Discussions:- Explain static member functions

#psuedocode, Create a pseudocode in getting Calendar Quarter. The program s...

Create a pseudocode in getting Calendar Quarter. The program should identify which quarter falls the given date. Note: Consider the date format DDMMYYYY.

#calculate percentge, #write a multilevel c++ program to take marks of 3 su...

#write a multilevel c++ program to take marks of 3 subjects and calculate percentage and display it

What are the additional keywords in c++, Additional keywords in C++ Cla...

Additional keywords in C++ Class     friend    virtual   inline private  public    protected     const this         new       delete   operator The actual use and expl

Data structures, what are 3 conditions under which the sequential search of...

what are 3 conditions under which the sequential search of a list is preferable to binary search?

What are source files and bytecode files, Problem : (a) What do you u...

Problem : (a) What do you understand by the term ‘constructor' in Java? Explain with an appropriate example. (b) Describe the differences between an object and a class usi

#title prime number or not, to find prime numbers upto any number say "n" e...

to find prime numbers upto any number say "n" entered by user

Is it legal for a member function to say delete this?, Is it legal for a me...

Is it legal for a member function to say delete this? A: As long as you're cautious, it's OK for an object to delete this. Here's how I define "cautious": You have to be a

But operator overloading makes class look ugly; isn''t it , Q: But operator...

Q: But operator overloading makes class look ugly; isn't it assumed to make my code clearer? A: Operator overloading makes life simpler for the users of a class, not for develop

Explain some string oriented library functions, Explain some String Oriente...

Explain some String Oriented Library Functions? To make simpler string processing we can use special string oriented library functions. Mainly the C compilers include library f

Queue, program to enter 5 values in queue and remove value one by one from ...

program to enter 5 values in queue and remove value one by one from queue.

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd