Concept explainers
If a member variable is declared _____, all objects of that class share that variable.
If a member variable is declared as a “static”, then all objects of that class share have access to that member variable.
Explanation of Solution
Static member variable:
In object-oriented programming, the member variable is declared with the keyword of “static” is referred as static member variable.
- In memory, it allocates only one copy of the static member variable for that class.
- If changes are made to static variable, then it reflects to all other instances of that class.
- The static member variables can be re-declared and reuse outside the class using the scope resolution operator (::).
- The static member variables are used anywhere in the program. Even though it is declared outside or inside of the class.
Example:
Consider the example of static member variable declaration is as follows:
//Header file
#include<iostream>
using namespace std;
//class definition
class sample
{
//declaration of instance variable
int c;
//declaration of static variable
static int ct;
//access specifier
public:
//constructor
sample()
{
//increment the variable
c = ++ct;
}
//function definition
void show_code()
{
//display the output
cout << "Object number is: " << c << endl;
}
//static member function definition
static void show_count()
{
//display the output
cout << "The number of objects in the program: " << ct<< endl;
}
};
//definition of static member variable "ct"
int sample::ct=0;
//definition of main method
int main()
{
//Create two Objects for "sample" class
sample o1, o2;
//call the functions
o1.show_count();
o1.show_code();
o2.show_count();
o2.show_code();
//return statement
return 0;
}
Explanation:
- Here, the variable “ct” is declared as a static member variable in the class “sample”.
- In main() function,
- Create two objects for “sample”class.
- Call the show_count() function by using two objects such as “o1” and “o2”.
- Call the show_code() function by using two objects such as “o1” and “o2”.
- Therefore, all the objects of the class have rights to access the static member variable “ct”.
Output:
The number of objects in the program: 2
Object number is: 1
The number of objects in the program: 2
Object number is: 2
Want to see more full solutions like this?
Chapter 11 Solutions
Starting Out With C++: Early Objects, Student Value Edition & Myprogramminglab With Pearson Etext -- Standalone Access Card Package, 9/e
Additional Engineering Textbook Solutions
Starting Out with Java: From Control Structures through Data Structures (3rd Edition)
Modern Database Management
Starting Out with Programming Logic and Design (4th Edition)
Problem Solving with C++ (10th Edition)
Starting Out with C++ from Control Structures to Objects (8th Edition)
Web Development and Design Foundations with HTML5 (8th Edition)