Virtual bazaviy sinflar


Download 143.71 Kb.
bet1/5
Sana09.04.2023
Hajmi143.71 Kb.
#1347011
  1   2   3   4   5
Bog'liq
mustaqil Ish


VIRTUAL BAZAVIY SINFLAR


Reja
1. SINFLAR
2. VIRTUAL BAZAVIY SINFLAR
3. VIRTUAL FUNKSIYALAR


SINFLAR
Sinflar. C++ tilining eng foydali xususiyatlaridan biri bu muayyan muammolarni hal qilish uchun ko‘proq mos keladigan ma'lumotlar turlarini aniqlashdir. O‘zingizning shaxsiy ma'lumotlar turlarini yaratish uchun ro‘yxatlar va tuzilmalardan qanday foydalanish mumkinligini allaqachon yuqoridagi boblarda kuzatdingiz. Masalan, sanani saqlash uchun struktura quyidagicha e’lon qilinadi
1-listing.
struct DateStruct
{
int day;
int month;
int year;
};
Ro‘yxatlar va strukturalar – bu an'anaviy (strukturali) dasturlashda qo’llaniladi. C++11 da biz yuqoridagi strukturani yaratishimiz va initsializatsiyalashimiz mumkin: DateStruct today { 12, 11, 2022}; Sanani ekranda ko‘rsatish uchun (buni bir yoki ikki marta bajarish kerak bo‘lishi mumkin), alohida funksiyani yozish samaralidir, masalan:
#include
using namespace std;
struct DateStruct
{
int m_day;
int m_month;
int m_year;
};
void print(DateStruct &date)
{
cout << date.m_day<< "/" << date.m_month << "/" <<
date.m_year;}
int main()
{
DateStruct today { 3, 8, 2022}; // uniform-initsializatsiyasidan foydalanish
today.m_day = 18; // a’zo tanlash operatoridan foydalanib, strukturaning //a’zosiga murojaat qilish
print(today);
return 0;
}
Dasturni bajarish natijasi:
18/8/2022
Obyektga yo‘naltirilgan dasturlashda ma'lumotlar turlari nafaqat
ma'lumotlarni, balki shu ma'lumotlar bilan ishlaydigan funksiyalarni ham
o‘z ichiga olishi mumkin. C++ bu ma'lumot turini aniqlash uchun class kalit
so‘zidan foydalanadi. class kalit so‘zidan foydalanish foydalanuvchi tomonidan belgilanadigan yangi ma'lumotlar turini – sinfni aniqlaydi. C++ da sinflar strukturalarga juda o‘xshash, faqat ular ko‘proq kuch va moslashuvchanlikni ta'minlaydi. Aslida, quyidagi struktura va sinf funksional jihatdan bir xil:
struct DateStruct
{
int m_day;
int m_month;
int m_year;
};
class DateClass
{
public:
int m_day;
int m_month;
int m_year;
};
Strukturani e'lon qilish singari, sinfni e'lon qilish ham hech qanday xotira ajratmaydi. Sinfdan foydalanish uchun siz ushbu turdagi o‘zgaruvchini e'lon qilishingiz kerak:
DateClass today { 3, 8, 2022 };
C++ da sinf o‘zgaruvchisi sinfning nusxasi (yoki "obyekt") deb ataladi.
Ma'lumotlar turidagi (masalan, int x) o‘zgaruvchini aniqlash, shu o‘zgaruvchiga xotira ajratilishiga olib keladi, shuning uchun sinf obyektini yaratish (masalan, today DateClass) bu obyekt uchun xotira ajratilishiga olib keladi. Komponentalarga murojaat huquqlari. Komponentalarga murojaat huquqi
murojaat spesifikatorlari yordamida boshqariladi. Bu spesifikatorlar:

Download 143.71 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling