În C++, static este un cuvânt cheie sau un modificator care aparține tipului, nu instanței. Deci instanța nu este necesară pentru a accesa membrii statici. În C++, static poate fi câmp, metodă, constructor, clasă, proprietăți, operator și eveniment.
Avantajul cuvântului cheie static C++
Memorie eficientă: Acum nu mai trebuie să creăm instanță pentru accesarea membrilor statici, așa că economisește memorie. Mai mult, aparține tipului, așa că nu va primi memorie de fiecare dată când este creată instanța.
Câmp static C++
Un câmp care este declarat ca static se numește câmp static. Spre deosebire de câmpul instanței care primește memorie de fiecare dată când creați un obiect, există o singură copie a câmpului static creat în memorie. Este partajat tuturor obiectelor.
lumea wumpusului
Este folosit pentru a face referire la proprietatea comună a tuturor obiectelor, cum ar fi rateOfInterest în cazul contului, companyName în cazul angajatului etc.
Exemplu de câmp static C++
Să vedem exemplul simplu de câmp static în C++.
q3 luni
#include using namespace std; class Account { public: int accno; //data member (also instance variable) string name; //data member(also instance variable) static float rateOfInterest; Account(int accno, string name) { this->accno = accno; this->name = name; } void display() { cout< <accno<< '<<name<< ' '<<rateofinterest<<endl; } }; float account::rateofinterest="6.5;" int main(void) { account a1="Account(201," 'sanjay'); creating an object of employee a2="Account(202," 'nakul'); a1.display(); a2.display(); return 0; < pre> <p>Output:</p> <pre> 201 Sanjay 6.5 202 Nakul 6.5 </pre> <hr> <h2>C++ static field example: Counting Objects</h2> <p>Let's see another example of static keyword in C++ which counts the objects.</p> <pre> #include using namespace std; class Account { public: int accno; //data member (also instance variable) string name; static int count; Account(int accno, string name) { this->accno = accno; this->name = name; count++; } void display() { cout< <accno<<' '<<name<<endl; } }; int account::count="0;" main(void) { account a1="Account(201," 'sanjay'); creating an object of a2="Account(202," 'nakul'); a3="Account(203," 'ranjana'); a1.display(); a2.display(); a3.display(); cout<<'total objects are: '< <account::count; return 0; < pre> <p>Output:</p> <pre> 201 Sanjay 202 Nakul 203 Ranjana Total Objects are: 3 </pre></accno<<'></pre></accno<<>
Exemplu de câmp static C++: Numărarea obiectelor
Să vedem un alt exemplu de cuvânt cheie static în C++ care numără obiectele.
#include using namespace std; class Account { public: int accno; //data member (also instance variable) string name; static int count; Account(int accno, string name) { this->accno = accno; this->name = name; count++; } void display() { cout< <accno<<\' \'<<name<<endl; } }; int account::count="0;" main(void) { account a1="Account(201," \'sanjay\'); creating an object of a2="Account(202," \'nakul\'); a3="Account(203," \'ranjana\'); a1.display(); a2.display(); a3.display(); cout<<\'total objects are: \'< <account::count; return 0; < pre> <p>Output:</p> <pre> 201 Sanjay 202 Nakul 203 Ranjana Total Objects are: 3 </pre></accno<<\'>