O'Reilly logo

Navigating C++ and Object-Oriented Design by Gail Anderson, Paul Anderson

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

5.3. Static Data Members

Object-oriented programming promotes the minimizing of global variables in software designs. Although global variables are alternatives to function arguments, they have several problems:

  • You cannot encapsulate global variables. Their declarations make them available to functions that may not need to access them.

  • Functions may inadvertently change global variables and cause side effects somewhere else.

  • Programs with a large number of global variables are hard to enhance and maintain.

C++ provides a viable alternative to global variables, which solves these problems: static data members. A static data member encapsulates a variable within a class, creating a single member shared by all objects you instantiate from the class. ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required