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

E^x, Write a program to calculate e^x using the formula: e^x = 1 + x/1! + ...

Write a program to calculate e^x using the formula: e^x = 1 + x/1! + x^2/2! + x^3/3! + ...... Allow the user to enter the integer number x, then do the calculation in a loop (for

How can one make it so keys pressed through users are , How can one make it...

How can one make it so keys pressed through users are not echoed on the screen? A: It is not a standard C++ feature. C++ doesn't even need your system to have a keyboard or a sc

Pointer declaration for class, P o i n t e r d e c l ...

P o i n t e r d e c l a r a t i o n f o r C l a s s : M m; M * p m; / / C la ss M i s d e c l a r e d a s

C program for reverse the string , C Program for REVERSE THE STRING #i...

C Program for REVERSE THE STRING #include stdio.h> #include conio.h> #include string.h> void main() {           char name[30];           char *s;

What happens while a derived-class object is developed, What happens while ...

What happens while a derived-class object is developed & destroyed? A: Space is allocated (on the heap or the stack) for the full object (i.e. adequate space to store the data m

C, A palindrome is a string that reads the same from both the ends. Given a...

A palindrome is a string that reads the same from both the ends. Given a string S convert it to a palindrome by doing character replacement. Your task is to convert S to palindrome

Define the processing of a structure, Define the Processing of a Structure?...

Define the Processing of a Structure? The members of structure are typically processed individually as separate entities. So we must be able to access the individual structure

Matrices, write a c program that multiplies 3 martices

write a c program that multiplies 3 martices

Program to calls to echo the typed characters, Write a main program that us...

Write a main program that uses these system calls to echo the typed characters. The pseudo code will look something like: void traphandler ()  {    if (R0 == 0) { // read sys

Define a class?, Define a class? A: It is an expanded concept of a data ...

Define a class? A: It is an expanded concept of a data structure: rather than holding only data, it can hold data and functions both.

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