C++ Kirish ma’lumoti. (Sinf/Class)

Hozirda, siz publicbizning barcha sinf misollarimizda paydo bo'lgan kalit so'z bilan juda yaxshi tanishsiz:

#include <iostream>
using namespace std;
​
class MyClass {  
  public:         
    int x;        
};
​
int main() {
  MyClass myObj; 
​
  myObj.x = 15;
​
  cout << myObj.x; 
  return 0;
}

publicKalit so'z bir bo'lib kirish ma'lumoti. Kirish spetsifikatorlari sinf a'zolariga (atributlar va usullarga) qanday kirish mumkinligini belgilaydi. Yuqoridagi misolda, a'zolar public- bu kodni tashqaridan kirish va o'zgartirish mumkinligini anglatadi.

Dasturlash xavfsizlik birinchi o'rinda turadi. Biz aynan tashqi kirishni to'xtatish kerak bo'lsa nima qilamiz? buning javobi quyidagi ma'lumot turlari bilan izohlanadi.

C ++ da uchta kirish spetsifikatorlari mavjud:

  • public - A'zolarga sinfdan tashqari kirish mumkin.
  • private - A'zolarga sinfdan tashqarida kirish (yoki ko'rish) mumkin emas.
  • protected- A'zolarga sinfdan tashqariga kirish mumkin emas, ammo ularga meros qolgan sinflarda kirish mumkin. Keyinchalik merosxo'rlik haqida ko'proq bilib olasiz .

Quyidagi misolda biz publicva privatea'zolar o'rtasidagi farqni ko'rsatamiz :

#include <iostream>
using namespace std;
class MyClass {
  public:  
    int x; 
  private: 
    int y; 
};
int main() {
  MyClass myObj;
  myObj.x = 25; 
  myObj.y = 50;  
  return 0;
}
In function 'int main()': Line 8: error: 'int MyClass::y' is private Line 14: error: within this contexterror: y is private
Eslatma:private Agar kirish spetsifikatsiyasini ko'rsatmasangiz, avtomatik tarizda private bo'ladi.
class MyClass {
  int x;   // Private attribute
  int y;   // Private attribute
};