In C++, static è una parola chiave o un modificatore che appartiene al tipo e non all'istanza. Pertanto non è necessario che l'istanza acceda ai membri statici. In C++, statico può essere campo, metodo, costruttore, classe, proprietà, operatore ed evento.
Vantaggio della parola chiave statica C++
Efficienza della memoria: Ora non è necessario creare un'istanza per accedere ai membri statici, quindi si risparmia memoria. Inoltre, appartiene al tipo, quindi non otterrà memoria ogni volta che viene creata l'istanza.
Campo statico C++
Un campo dichiarato come statico è chiamato campo statico. A differenza del campo di istanza che ottiene memoria ogni volta che si crea un oggetto, nella memoria è presente solo una copia del campo statico creato. È condiviso con tutti gli oggetti.
la dimensione del mio monitor
Viene utilizzato per fare riferimento alla proprietà comune di tutti gli oggetti come rateOfInterest in caso di Account, companyName in caso di Employee ecc.
Esempio di campo statico C++
Vediamo il semplice esempio di campo statico in C++.
programmi c
#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<<>
Esempio di campo statico C++: conteggio di oggetti
Vediamo un altro esempio di parola chiave statica in C++ che conta gli oggetti.
#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<<\'>