Explain static class members, C/C++ Programming

Assignment Help:

Static Class Members

As we already know all the objects of the class have dissimilar data members but invoke the similar member functions. Though, there is an exception to this rule. If the data member is declared with the keyword static, then only one such data item is formed for the entire class, no matter how many objects it has. Static data members are useful, if all objects of a class must share a common data item. While, the visibility of this data item remains similar, the duration of this variable is for whole lifetime of the program.

For example, such a variable can be particularly useful if an object needs to know how many objects of its kind exist.

class counter

                 {

                  public :

                                                counter ();

                                                int getcount();

  private:

                                static int count;

                };

counter::counter ()

                 {

                count++;

                 }

 

int counter::getcount()

                {

                                return ( count );

                 }

 

     int counter :: count = 0;// INITIALIZATION OF STATIC MEMBER.

 

                void main()

                 {

                  counter c1,c2;

                                cout << " Count = " << c1.getcount() << endl;

                                cout << " Count = " << c2.getcount() << endl;

 

                  counter c3;

                                cout << " Count = " << c3.getcount() << endl;

                  counter c4,c5;

                                cout << " Count = " << c4.getcount() << endl;

                                cout << " Count = " << c5.getcount() << endl;

                  }

 

Output:

 

                Count = 2             // not 1 because 2 objects are already created.

                Count = 2

                Count = 3

                Count = 5

                Count = 5

 

 


Related Discussions:- Explain static class members

Where php basically used, Why many companies are switching their current bu...

Why many companies are switching their current business language to PHP? Where PHP basically used? PHP is rapidly gaining popularity and numerous companies are switching their

What are the different steps in executing a c program, Question 1 What are...

Question 1 What are the different steps in executing a C program? Explain Question 2 What are the commonly used input/output functions in C? How are they accessed?

Destructor on a local variable, Should I explicitly call a destructor on a ...

Should I explicitly call a destructor on a local variable? Explain it.

C program to returns the string, Program is to take two arguments and retur...

Program is to take two arguments and returns the string: Program is to take two arguments and returns the string which is larger the larger string has larger ascii value invok

#Class objects, make use of class objects two calculate average

make use of class objects two calculate average

Explain the #undef directive, The #undef Directive This directive undef...

The #undef Directive This directive undefines a previously explained macro. For, example the following will give an error since PI is undefined.                 #define PI 3

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

Write a program that computes the cost of a long distance ca, Write a progr...

Write a program that computes the cost of a long distance call. The cost of the call is determined according to the following rate schedules. a. A call made between 8:00 AM and 6:

If one won''t explicitly call the destructor of a local then , if one won't...

if one won't explicitly call the destructor of a local; then how does he handle the above situation?

C program for pattern star, 1 PETTERN1 (Pettern1.c)   main() { ...

1 PETTERN1 (Pettern1.c)   main() {           int i,j,k=1,a;           clrscr();           for(i=1;i           {                    if(i>=3)

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