1 – dars. C++ Dasturlash tilining kelib chiqishi xaqida ma’lumot


Kompanenta o’zgaruvchilar va kompanenta funktsiyalar



Yüklə 4,49 Mb.
səhifə68/89
tarix29.11.2023
ölçüsü4,49 Mb.
#140314
1   ...   64   65   66   67   68   69   70   71   ...   89
C kitob TAYYOR

Kompanenta o’zgaruvchilar va kompanenta funktsiyalar.
Sinf kompanenta o’zgaruvchilari sifatida o’zgaruvchilar , massivlar, ko’rsatkichlar
ishlatilishi mumkin . Elementlar ta'riflanganda initsializatsiya qilish mumkin emas . Buning sababi shuki sinf uchun hotiradan joy ajratilmaydi. Kompanenta
elementlariga kompanenta funktsiyalar orqali murojat qilinganda faqat nomlari ishlatiladi. Sinfdan tashqarida sinf elementlariga emas ob'ekt elementlariga murojaat qilish mumkin. Bu murojaat ikki hil bo’lishi mumkindir.
Ob'ekt- nomi . Element - nomi.
Ob'ktga – korsatgich – element nomi.
Sinf elementlari sinfga tegishli funktsiyalarida ishlatilishidan oldin ta'riflangan bo’lishi shart emas. Huddi shunday bir funktsiyadan hali ta'rifi berilmagan ikkinchi funktsiyaga murojaat qilish mumkin. Komponentalarga murojaat huquqlari. Komponentalarga murojaat huquqi murojaat spetsifikatorlari yordamida boshqariladi. Bu spetsifikatorlar :
Protected – himoyalangan;
Private – hususiy;
Public – umumiy;
Himoyalangan kompanentalardan sinflar ierarhiyasi qurilganda foydalaniladi. Oddiy holda Protected spetsifikatori Private spetsifikatoriga ekvivalentdir. Umumiy ya'ni Public tipidagi komponentalarga dasturning ihtiyoriy joyida murojaat qilinishi mumkin. Hususiy ya'ni Private tipidagi komponentalarga sinf tashqarisidan murojaat qilish mumkin emas. Agar sinflar Struct hizmatchi so’zi bilan kiritilgan bo’lsa, uning hamma komponentalari umumiy Public bo’ladi, lekin bu huquqni murojaat spetsifikatorlari yordamida o’zgartirish mumkin. Agar sinf Class hizmatchi so’zi orqali ta'riflangan bo’lsa, uning hamma komponentalari hususiy bo’ladi. Lekin bu huquqni murojaat spetsifikatorlari yordamida uzgartirish mumkindir. Bu spetsifikator yordamida Sinflar umumiy holda quyidagicha ta'riflanadi:
class class_name
{
int data_member; // Ma'lumot-element
void show_member(int); // Funktsiya-element
};
Sinf ta'riflangandan so’ng, shu sinf tipidagi o’zgaruvchilarni(ob'ektlarni) qo’yidagicha ta'riflash mumkin:
class_name object_one, object_two, object_three;
Qo’yidagi misolda employee, sinfi kiritilgandir:
class employee
{
public:
char name[64] ;
long employee_id;
float salary;
void show_employee(void)
{
cout << "Imya: " << name << endl;
cout << "Nomer slujathego: " << employee_id << endl;
cout << "Oklad: " << salary << endl;
};
};

Bu sinf uch o’zgaruvchi va bitta funktsiya-elementga ega. Qo’yidagi EMPCLASS.CPP dastur ikki employee ob'ektini yaratadi. Nuqta operatordan foydalanib ma'lumot elementlarga qiymat beriladi so’ngra show_employee elementidapn foydalanib hizmatchi haqidagi ma'lumot ekranga chiqariladi:


#include
#include
class employee
{
public:
char name [64];
long employee_id;
float salary;
void show_employee(void)
{
cout << "Imya: " << name << endl;
cout << "Nomer slujathego: " << employee_id << endl;
cout << "Oklad: " << salary << endl;
};
};
void main(void)
{
employee worker, boss;
strcpy(worker.name, "John Doe");
worker.employee_id = 12345;
worker.salary = 25000;
strcpy(boss.name, "Happy Jamsa");
boss.employee_id = 101;
boss.salary = 101101.00;
worker.show_employee();
boss.show_employee();
}



Yüklə 4,49 Mb.

Dostları ilə paylaş:
1   ...   64   65   66   67   68   69   70   71   ...   89




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə