Реферт «Си++ тiлiнiң негiзгi түсiнiктерi» Орындаған: Есен а тексерген: Шайкулова а алматы, 2022



бет10/12
Дата22.06.2022
өлшемі144.24 Kb.
#459418
1   ...   4   5   6   7   8   9   10   11   12
Есен Айдар

4.4 Абстрактты базалық класс

Таза виртуальды функция-виртуальды функция-мүшесінің денесі анықталмаған класс ішіндегі хабарлану пішіні келесі түрде берілген:


Virtual прототип функция =0;
Туындалған класс анықталуы міндетті немесе әр бір таза виртуальды функцияның тікелей базалық класта бір абстракты класс болып табылады.

4.5 Класс мүшесіне нүсқағыш


С мүшелердің мәнін таңдау үшін,құрылым нұсқағыш және шақырудың қарапайым сұлбасын қолданады.С++ те класс мүшесінен нұсқағыш ерекше класс нұсқағыш.Класс мүшесіне нұсқағыш Т::*типті иемденеді,мұндағы Т-класс аты.С++-тің класс мүшесінің нұсқағышының атын өзгерту ретінде іске асатын екі операторы бар.


* және .>*
obj.*ptr_mem мүше айнымалысын алу үшін нұсқағыштың бірінші атын өзгертушісі деп есептесек,онда онын мәніне қатынауды қамтамасыз етуге болады.
Class object {public :int a,b,c:}x,y,*q=& y;
Int object::*p=& object ::b;
x.*p //x.b алады
y.>*p //y.b. алады


Нұсқағыш THIS


Түйінді сөз this анық емес жарияланған өзіндік сілтеме нұсқағышты білдіреді.This тек статистикалық емес функцияның мүшесінде қолданылуы мүмкін .келесі қолданылған оның қарапайым иллюстрациясы.


// қолданушы this нұсқаушы
class c-pair {
private:
char c1.c2;
public:
c-pair (char b) {c1=1+(c2=b);}
c-pair increment(){c1++; c2++; return (*this);}
unsigned where_am_I ( ) {return ((unsigned) this );}
void print ( ){cout <};
функция-мүшесі increment( ) айқын емес жарияланған this нұсқағышын қолданады сол үшін с1 және с2 үлкейтілген мәнін қайта қайтару үшін функция-мүшесі where_am_I( ) берілген объектінің өз орнына қайтады.Түйінді сөз this өзіндік сілтеменің нұсқағышын білдіреді. ------------------------------------------------------------
ленттілер.

4.5 Жады класстары және айнымалылардың қолдану ортасы


Әдетте Си бағдарламасы main() функциясының қолданылуын көрсетедi және керектi элементтердi орындау үшiн басқа функцияларды шақырады. Егер бағдарлама бiр файлдан тұратын болса, онда функциялар параметрлердi беру және функцияның мәнiнiң қайтарылуы арқылы байланыста болады. Ал егер бағдарламаның бастапқы мәтiнi бiрнеше модульге бөлiнiп, олар бiрнеше файлдан тұрса, ондай жағдайда ауқымды сыртқы айнымалылар қолданылуы керек. Айнымалылардың бағдарламада анықталуы оның мәндерiне жадыда орын бөлгiзуiн туғызады.


Жадыдан орын бөлу класстары олардың жады класстар спецификаторлары арқылы анықталады. Ол спецификаторлар айнымалылардың өмiрлiк уақытын және қолдану облысын немесе көрiну облысын анықтайды. Си++ тiлiнде блок дегенiмiз { } фигуралық жақшаның iшiнде жазылған сипаттау және операторлар тiзiмдерi. Блоктың 2 түрi бар:

  1. Құрама операторлар (бiрнеше блок);

  2. Функцияның анықталуы;

Бiрiншi блоктың iшiнде құрама операторлар кiруi мүмкiн, функцияның
анықталуы кiрмейдi. Iшкi блоктың iшiне енген блок деймiз. Сыртқы блокты көлемдi қамтушы блок немесе ауқымды блок деймiз. Өмiрiлiк уақыты дегенiмiз ол бағдарламаның орындалу уақытының интервалы, сол уақытта бағдарламалық объект өмiр сүредi. Айнымалылардың өмiр сүру уақыты ауқымды және жергiлiктi болады. Жергiлiктi өмiрлiк уақыты бар айнымалыға жадыдан белгiлi-бiр орын алады және де сол өзi анықталған блоктың iшiнде мәнi болады. Мұндай айнымалыларға блоктың орындалуына байланысты ылғи да жадыдан жаңа орын бөлiнiп отырады. Ал шыққан кезде ол орын жойылып кетедi.
Си++ - тағы барлық функциялар өмiрлiк уақыты ауқымды болады және де оның өмiрлiкуақыты бағдарлама орындалып болғанға дейiн болады.
Көрiну облысы дегенiмiз – ол берiлген объектiнi қолданған бағдарламаның бiр бөлiгi.
Объектiнiң көрiну облысы болады. Егер сол блокта немесе файлда оған ат берiлiп және түрi көрсетiлсе және ол оның сипатталу деңгейiне байланысты. Жады класстарының спецификаторлары айнымалыларды сипаттағанда мынадай қызметшi сөздердi auto, register, static, extern қолданылады. Егер жадының классы көрсетiлмесе, онда ол үнсiз келiсiм бойынша сипатталынуына байланысты қабылданады. Мына класстың auto, register объектiлерiнiң өмiрлiк уақыты жергiлiктi болып келедi. Ал екiншi static, extern объектiлерiнiң өмiрлiк уақыты ауқымды объектiлердi анықтайды.
аuto классындағы айнымалыларға жады болкқа енгенде берiлiп, шыққанда босатылады.
Егер блокқа қайтадан енсе, онда жадыдан басқа орын берiледi. Бұндай класстағы айнымалыларға орын стектен берiледi.


Достарыңызбен бөлісу:
1   ...   4   5   6   7   8   9   10   11   12




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет