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. ...
Get Navigating C++ and Object-Oriented Design now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.