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

Explain the default constructor and destructor, The default Constructor and...

The default Constructor and Destructor If you fail to write a constructor and destructor function,  the compiler automatically supplies them for you. These functions have publi

Explain the new and delete operators, The new and delete operators The ...

The new and delete operators The C language has explained library functions- malloc() and free() for dynamic allocation and de-allocation of memory. C++ gives yet another appro

Write a program to calculate the average of ten numbers, Write a program to...

Write a program to calculate the average of ten numbers       #include stdio.h     /* Only this header is needed since only IO are used */     void main()     {          char

How must runtime errors be handled in c++, How must runtime errors be handl...

How must runtime errors be handled in C++ - Runtime errors in C++ can be handled using exceptions. - This exception handling mechanism in C++ is developed to handle errors i

What are literals, Literals (Constants) Constants are data storage loca...

Literals (Constants) Constants are data storage locations whose address is not accessible for the user. Their value is not altered during the course of the program. Literal

Describe the oops concept - class, There are so many different concepts rel...

There are so many different concepts related with OOP (Object-oriented programming) such as: Class Object Inheritance Polymorphism Abstraction Encapsulation

C, A Padovan string P(n) for a natural number n is defined as: P(0) = ‘X’ P...

A Padovan string P(n) for a natural number n is defined as: P(0) = ‘X’ P(1) = ‘Y’ P(2) = ‘Z’ P(n) = P(n-2) + P(n-3), n>2 where + denotes string concatenation. For a string of the c

Define character input and output with files, Define Character Input and Ou...

Define Character Input and Output with Files? This is done by using equivalents of putchar and getchar which are called putc and getc. Each one takes an extra argument which id

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