class Kalit so'z MyClass deb atalgan bir sinf yaratish
uchun ishlatiladi .
publicKalit so'z bir bo'lib kirish belgisi ifodalaydi.
Bu degani class dan tashqarida
ham attributlardan
foydalanish mumkin .
Sinf ichida butun son myNum va satr o'zgaruvchisi
mavjud myString. O'zgaruvchilar sinf ichida e'lon
qilinganida, ular atributlar deb nomlanadi .
Sinf a’zolariga ko’rsatkich
C++ da shunday ko’rsatkich qilsa bo’ladiku bu
ko’rsatkich class a’zosini ko’rsatib turadi. Bunday
ko’rsatkichlarni pointer-to-member deb ataladi.
Class a’zosiga ko’rsatkichda maxsus .* va ->*
operatorlar ishlatiladi.
E’lon qilinishi:
int c1::*data; //toifaga ko’rsatkich
int (c1::*func)(); //funksiyaga ko’rsatkich
data = &c1::val; //val joyini data’ga olish
func = &c1::get_num; //get_num joyini func’ga
olish
ob.*data; // val
ga murojat
(ob.*func)(); // get_num() ga murojat
Demak yuqoridagi misoldan ko’rinib turibdiki,
obyekt ko’rsatkichi orqali sinf a’zolariga murojaat
qilish imkoniyati mavjud. Bunda sinf a’zosiga mos
ko’rsatkich o’zgaruvchi e’lon qilinadi
va ushbu
o’zgaruvchi orqali sinf a’zosiga murojaat qilinadi.
class c1 {
public: int get_num() { return val + val; }
c1(int a){ val = a; }
int val;
};
int c1::*data; // c1 class a’zolariga ko’rsatkich
yaratildi
int (c1::*func)(); // c1 class a’zolariga ko’rsatkich
yaratildi
c1 a(4), b(8); // a va b obyektlar yaratildi
data = &c1::val; // data va func ko’rsatkichlariga c1
a’zolarining joylari
olindi
func = &c1::get_num; // data va func
ko’rsatkichlariga c1 a’zolarining joylari
olindi