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

Write a fragment of code that declares a variable, (a) Write a fragment of ...

(a) Write a fragment of code that declares a variable colSp of type ColourSpot, and then moves it to the point (3, -4), and sets its colour to Green. (b) A function QU8 is speci

CptS 121 Program Development & Design program design in C, Write a program...

Write a program that performs character processing on 10 characters read in from a file, and writes the results to output files. Do NOT use loops or arrays to solve this problem. N

What is buddy systems, Buddy systems : A method of handling the storage man...

Buddy systems : A method of handling the storage management problem is kept individual free lists for blocks of dissimilar sizes. Every list having free blocks of only one particul

I want a craiglist poster required, Project Description: I want someone ...

Project Description: I want someone who can post ads for me on Craiglist . I will pay 3$ per ad i need about 30-40 ads per day . Skills required: C Programming, MySQL, Jav

C program for diviser, C Program for DIVISER   void main() {  ...

C Program for DIVISER   void main() {           int result,number,min;           clrscr();           printf("ENTER THE NUMBER=");           flushall();

C++ Data Structure program, Description A long time ago in a galaxy far, f...

Description A long time ago in a galaxy far, far away, the country Mafghanistan had n cities and m old roads, where each road connected a pair of cities. Due to the treacherous mo

C program to print character array, Program to print character array : ...

Program to print character array : Write a program to print the character array by using string class functions. void main() {  char line[30];   int i=0;   clrsc

Write a recursive function with cylinders, I need to make a fractal trees i...

I need to make a fractal trees in OpenGL C++ . The method used is to write a recursive function with cylinders of different sizes and angles to create the tree trunk and branches.

Memory management system, 1. Basic Heap: Each memory location in our model ...

1. Basic Heap: Each memory location in our model of the RAM will be an instance of type Memory: 2. typedef union Memory_u Memory; 3. union Memory_u{ 4. char character;

Write a program that calculates circumference and area, Write a program cal...

Write a program called A1Q3, that reads it the radius of a circle as an integer and prints the circle's diameter, circumference and area.  Use a constant value for pi.  Do all calc

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