logo

C++ statisks

C++ valodā static ir atslēgvārds vai modifikators, kas pieder tipam, nevis instancei. Tādējādi instance nav nepieciešama, lai piekļūtu statiskajiem dalībniekiem. Programmā C++ statiskais var būt lauks, metode, konstruktors, klase, rekvizīti, operators un notikums.


C++ statiskā atslēgvārda priekšrocība

Efektīva atmiņa: Tagad mums nav jāizveido gadījums, lai piekļūtu statiskajiem dalībniekiem, tāpēc tas ietaupa atmiņu. Turklāt tas pieder tipam, tāpēc tas nesaņems atmiņu katru reizi, kad tiek izveidots gadījums.


C++ statiskais lauks

Lauku, kas ir deklarēts kā statisks, sauc par statisku lauku. Atšķirībā no gadījuma lauka, kas iegūst atmiņu katru reizi, kad veidojat objektu, atmiņā tiek izveidota tikai viena statiskā lauka kopija. Tas tiek koplietots visiem objektiem.

kad sākas Q2

To izmanto, lai atsauktos uz visu objektu kopējo īpašumu, piemēram, procentu likme konta gadījumā, uzņēmuma nosaukums darbinieka gadījumā utt.


C++ statiskā lauka piemērs

Apskatīsim vienkāršu statiskā lauka piemēru C++.

pasūtījuma šķērsošana
 #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-&gt;accno = accno; this-&gt;name = name; } void display() { cout&lt; <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&apos;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-&gt;accno = accno; this-&gt;name = name; count++; } void display() { cout&lt; <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++ statiskā lauka piemērs: Objektu skaitīšana

Apskatīsim vēl vienu statiskā atslēgvārda piemēru C++, kas saskaita 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-&gt;accno = accno; this-&gt;name = name; count++; } void display() { cout&lt; <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<<\'>