1-ma’ruza C++ da Sinflar va obyektlar. Konstruktor va destruktor. Sinf usullari reja


Darchaning ekrandagi konstrutuktori


Download 35.6 Kb.
bet9/10
Sana24.01.2023
Hajmi35.6 Kb.
#1117879
1   2   3   4   5   6   7   8   9   10
Bog'liq
Majmua12

Darchaning ekrandagi konstrutuktori:
& ekranda chap yuqori burchagi va ulchamlari asosida berilgan nomli darcha yaratish;
Ekrandagi destruktori
& berilgan nomli darchani yo’q qilish:
Nasldan o’tuvchi komponentalarga qo’shimcha jpot sinfiga qo’yidagi komponentalarni kiritamiz: tasvir radiusi (rad); ekralus sos etilishi (vir=0 ekranda tasvir yuk; vi1==1 ekranda tasvir bor); tasvirni bitli matnda saylash chun ajratilgan hotira qismiga ko’rsatgich pspot.
Spot.cpp
# Ifudef. Spot
# Spot1
"Include " " point. Epp"
Clall spot;
{Int rad;
Int vil;
Int tag;
Void * pspot;
Public;
Spot (int xi, int yi, int ri);
Point (xi, yi)}
{int size ;
vir =0;tag=0;rad=ri;
Size=image size (xi-ri; yi-ri; xis ri; yiri);
Pspot=neo char [Size];
}
~ Spot ()
{h del();
tag =0;
Delete pspot;
}
Voit show ()
{If (tag==0)
{Cirele (x, y, rad);
Flood siell (x, y, getcolor ());
Get image (x-rad, y-rad, y+rad, pspot);
Tag=1};
Else
Putimage (x-rad, y-rad, pspot, XOR-PUT);
Vi1=1;
}
Void hide ()
{If (vi1==0) return;
Putimage (x-rad,y-rad, pspot, XOR-PUT);
Vi1=0;
}
Void move (int xn, int yn)
{Hide ();
x- xn, y-yn;
Shov ();
}
Viod vary (float dr)
{Floata;
Int size;
Hide ();
Tag=0;
Delete pspot;
A=dr*rad;
If (a<=0) rad=0;
Else rad= (int) a;
Size=imagerize (x-rad; y-rad, x+rad, y+rad);
New char [size];
Show ();
}
int& giver (void);
{Return rad;}
};
# Endif
Программалаш тилининг муҳим таянч тушунчаларидан бири - идентификатор тушунчасидир. Идентификатор деганда катта ва кичик лотин ҳарфлари, рақамлар ва таг чизиқ (‘_’) белгиларидан ташкил топган ва рақамдан бошланмайдиган белгилар кетма-кетлиги тушунилади. Идентификаторларда ҳарфларнинг регистрлари (катта ёки кичиклиги) ҳисобга олинади. Масалан, RUN, run, Run - бу ҳар хил идентификаторлардир. Идентификатор узунлигига чегара қўйилма- ган, лекин улар компилятор томонидан фақат бошидаги 32 белгиси билан фарқланади.
Идентификаторлар калит сўзлар, ўзгарувчилар, функциялар, нишонлар ва бошқа объектларни номлашда ишлатилади.
С++ тилининг калит сўзларига қуйидагилар киради:
asm, auto, break, case, catch, char, class, const, continue, default, de- lete, do, double, else, enum, explicit, extern, float, for, friend, goto, if, inline, int, long, mutable, new, operator, private, protected, public, register, return, short, signed, sizeof, static, struct, swith, template, this, throw, try, typedef, typename, union, unsigned, virtual, void, volatile, while.
Юқорида келтирилган идентификаторларни бошқа мақсадда ишлатиш мумкин эмас.
Процессор регистрларини белгилаш учун қуйидаги сўзлар ишлатилади:
_AH, _AL, _AX, _EAX, _BH, _BL, _BX, _EBX, _CL, _CH, _CX,
_ECX, _DH, _DL, _DX, _EDX, _CS, _ESP, _EBP, _FS, _GS, _DI, _EDI,
_SI, _ESI, _BP, _SP, _DS, _ES, _SS, _FLAGS.
Булардан ташқари « » (иккита тагчизиқ) белгиларидан бошланган идентификаторлар кутубхоналар учун заҳираланган. Шу сабабли ‘_’ ва « » белгиларни идентификаторнинг биринчи белгиси сифатида ишлатмаган маъқул. Идентификатор белгилар орасида пробел ишлатиш мумкин эмас, зарур бўлганда унинг ўрнига ‘_’ ишлатиш мумкин: Cilindr_radiusi, aylana_diametiri.
С++ тилининг таянч турлари
С++ тилининг таянч турлари, уларнинг байтлардаги ўлчамлари ва қийматларининг чегаралари 1.1-жадвалда келтирилган.

Download 35.6 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




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