A C++-ban a static egy kulcsszó vagy módosító, amely a típushoz tartozik, nem pedig a példányhoz. Így a példány nem szükséges a statikus tagokhoz való hozzáféréshez. A C++-ban a statikus lehet mező, metódus, konstruktor, osztály, tulajdonságok, operátor és esemény.
A C++ statikus kulcsszó előnyei
Hatékony memória: Most már nem kell példányt létrehoznunk a statikus tagok eléréséhez, így memóriát takarít meg. Sőt, a típushoz tartozik, így nem kap memóriát minden alkalommal, amikor példány jön létre.
C++ statikus mező
A statikusnak deklarált mezőt statikus mezőnek nevezzük. Ellentétben a példánymezővel, amely minden egyes objektum létrehozásakor memóriát kap, a statikus mezőnek csak egy példánya jön létre a memóriában. Meg van osztva az összes objektummal.
java int char
Az összes objektum közös tulajdonára utal, mint például a rateOfInterest számla esetén, a cégnév alkalmazott esetén stb.
C++ statikus mező példa
Nézzük a statikus mező egyszerű példáját C++-ban.
f filmek
#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++ statikus mező példa: Objektumok számlálása
Lássunk egy másik példát a statikus kulcsszóra a C++-ban, amely számolja az objektumokat.
#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<<\'>