C++ kalboje static yra raktinis žodis arba modifikatorius, priklausantis tipui, o ne egzemplioriui. Taigi egzempliorius neprivalo prieiti prie statinių narių. C++ kalboje statinis gali būti laukas, metodas, konstruktorius, klasė, savybės, operatorius ir įvykis.
C++ statinio raktinio žodžio privalumas
Efektyvi atmintis: Dabar mums nereikia kurti egzemplioriaus, kad galėtume pasiekti statinius narius, todėl taupoma atmintis. Be to, jis priklauso tipui, todėl jis negaus atminties kiekvieną kartą, kai sukuriamas egzempliorius.
C++ statinis laukas
Laukas, kuris deklaruojamas kaip statinis, vadinamas statiniu. Skirtingai nuo egzemplioriaus lauko, kuris atmintį gauna kiekvieną kartą, kai kuriate objektą, atmintyje sukuriama tik viena statinio lauko kopija. Jis dalijamas visiems objektams.
java regex, skirta
Jis naudojamas norint nurodyti bendrą visų objektų nuosavybę, pvz., palūkanų normą sąskaitos atveju, įmonės pavadinimą, darbuotojo ir kt.
C++ statinio lauko pavyzdys
Pažiūrėkime paprastą statinio lauko pavyzdį C++.
bash while kilpa
#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<<>
C++ statinio lauko pavyzdys: Objektų skaičiavimas
Pažiūrėkime kitą statinio raktinio žodžio pavyzdį C++, kuris skaičiuoja objektus.
#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<<\'>