Misol; static int J = 9;
class A {
private:
static int x;
};
int A::x = 5;
class B {
static int y;
public:
void do_something()
{
std::cout << J;//Yes, J is global.
}
};
int B::y = 10;
69. C++da static kalit so’zi va undan sinflarda foydalanish Class o’zgaruvchisini static deb e’lon qilinganda kompilyator uni obyektlar uchun bitta nusxa ko’rinishida yaratadi. Ya’ni bir nechta obyekt bitta o’zgaruvchidan foydalanadi. Static o’zgaruvchi 0 ga inisalizatsiya qilinadi. Class static a’zolariga murojat qilish ClassName::static_member ko’rinishida murojat qilinadi, obyekt orqali ham murojat qilsa bo’ladi.Static o’zgaruvchini static kalit so’zi bilan e’lon qilinadi.E’lon qilish:
class someclass {
public:
static int ob;
};
Statik usullar - Bu Javadagi usullar. Uni sinf ob'ektini yaratmasdan chaqirish mumkin. Ular nomi (toifasi sinfi) tomonidan hujjatlashtirilgan. Statik kalit so'zni sinf, o'zgaruvchan, usul va blok bilan ishlatish mumkin. Statik a'zolar ma'lum bir nusxada emas, balki sinfga tegishli, demak, agar siz a'zo bo'lgan statik bo'lsa, unga ob'ektsiz kirishingiz mumkin.
Statik kalit so'zi yordamida sinf a'zolarini statik aniqlashimiz mumkin. Agar sinfning bir a'zosini statik deb e'lon qilsak, sinfning qancha ob'ekti yaratilgan bo'lishidan qat'i nazar, statik a'zoning faqat bitta nusxasi mavjud.Statik a'zolarni ommaviy deb e'lon qilsangiz, u holda a'zo funktsiyasidan foydalana olasiz. Statik o'zgaruvchining doirasi bilan hech qanday aloqasi yo'q .. Faqat saqlash muddatini bildiradi.Statik a'zo sinfning barcha moslamalari tomonidan taqsimlanadi. Birinchi ob'ekt yaratilganda, barcha statik ma'lumotlar nolga tenglashtiriladi, agar boshqa boshlashlar mavjud bo'lmasa.
70. C++da obyektlar yaratmasdan turib, sinfdan foydalanish usul
Do'stlaringiz bilan baham: |