int main()
{ Contact TonyTony.print_numbers()//
cout << Tony.mobile_number << endl; // will cause compile time error return 0; }
Mobile_number private o'zgaruvchisini asosiy dasturdan (main) bosib chiqarishga yoki o'zgartirishga urinish kompilyatsiya xatosiga olib keladi, chunki sinfdagi private ma'lumotlarga kirish cheklangan.\
81. Statik bo’lmagan sinf a’zolarini initsializatsiyalash Statik a'zolarga har xil sinf ob'ektlari orqali kirishingiz mumkin bo'lsa (yuqoridagi misolda bo'lgani kabi), statik a'zolar sinf obyektlari yaratilmagan bo'lsa ham mavjud ekanligi ayon bo'ladi! Global o'zgaruvchilar singari, ular dastur ishga tushganda yaratiladi va dastur bajarilgandan so'ng yo'q qilinadi. Shunday qilib, statik a'zolar sinfga tegishli bo'lib, bu sinf obyektlariga tegishli emas. s_value har qanday sinf obyektlaridan mustaqil ravishda mavjud bo'lganligi sababli, unga to'g'ridan -to'g'ri sinf nomi va ko’rinish sohasini aniqlash operatori orqali kirish mumkin (bu holda Anything::s_value orqali):
#include
class Anything
{ public: static int s_value; // statik a'zo o'zgaruvchini e'lon qilish };
int Anything::s_value = 3; // statik a'zo o'zgaruvchini aniqlash
int main()
{// Eslatma: Biz bu yerda Anything obyektini yaratmaymiz. Anything::s_value = 4; cout << Anything::s_value << '\n'; return 0; }
Do'stlaringiz bilan baham: |