Ақпараттық технологияның қарқынды дамуна байланысты соңғы кездері программалауға деген қызығушылықтың арта түскені белгілі. Дк қолданудың ең негізгі облыстарының бірі бағдарламалау болып табылады



бет64/71
Дата04.10.2022
өлшемі1.36 Mb.
#461923
түріПрограмма
1   ...   60   61   62   63   64   65   66   67   ...   71
С тілінде программалау УМКД

Жұмысты орындау реті




Есеп 1. Енгізілген бүтін санның квадратын экранған шығаратын қарапайы қосымшаны С++ тілінде класстың әдісі арқылы құрастырамыз.



Программасы

Түсініктеме

# include # include

Қажетті кітапханаларды қосу:

  • stdio.h-стандартты енгізу - шығару операторлары,

  • conio.h - экранның қосымша

# include

мүмкіндіктері,
- math.h - математикалық функциялар үшін

class MyClass

{


MyClass классының сипаттаулы

private:

int Data;



Класстың Data бүтін типті жабық ішкі айнымалысын
сипаттау

public:

Класстық ашық әдістерін сипаттау

void SetData (int D)

{


Data = D;

}


SetData әдісі. D айнымалының мәнін қабылдап, Data ішкі айнымалыға меншіктейді.

void ShowData ( )

{


ShowData әдісі.

int M;

Әдістің бүтін типті жергілікті M айнымалысын сипаттау

M=pow(Data,2);

М айнымалының мәнін квадраттау

printf(“% sannin kvadrati=%d“,Data, M); end;
}

Экранға нәтижені шығару

};

Класс денесінің аяқталуы

int main ( )

{


Негізгі программаның басы

Int L;

Жергілікті бүтін типті L айнымалыны сипаттау

MyClass C;

Жергілікті MyClass типті айнымалыны сипаттау. C класс
экземпляры болып табылады.

Printf(“Butin san engiz=”);

Scanf(“%d”,&L);



L айнымалының мәнін енгізу

C. SetData (L);

C классының SetData әдісін шақыру арқылы L-дің мәнін




қабылдау. L-дің мәні формалды параметр D-ға, D-дан әдістің жергілікті айнымалысы Data-ға
беріледі.

C. ShowData ();

C классының ShowData әдісін шақыру арқылы L
айнымалының квадратын экранға шығару

return 0;

}


Негізгі программаның соңы

Есеп 2. Координаттар жүйесіне арналған класс және объект.

class Coord


{
public:
int x,y;
void SetCoord(int _x, int _y);
};
void Coord::SetCoord(int _x, int _y)
{
x = _x; у = _y;
}
int main()
{
Coord pt;
Coord *ptPtr = &pt; //объектіге сілтеме
//...
pt.x =0; // объект. клас мұшесі
ptPtr->y = 0; //сілтеме->клас мұшесі ptPtr->SetCoord(10,20);
//... return 0;
}


Зертханалық жұмысты орындауға арналған жеке тапсырмалар:


  1. Жаңа класс құру арқылы тіктөртбұрышты сызатын қосымша құрыңыз.

  2. Векторларды есептеуге арналған TVector классын құрыңыз.

  3. С++ тілінде көліктердің классын іске асырыңыз.

ЛАБОРАТОРИЯЛЫҚ ЖҰМЫС № 12




Тақырыбы: Қол жеткізу модификаторлары
Жұмыстың мақсаты: Объектіге-бағытталған бағдарламалауда класс мүшелеріне әртүрлі қол жеткізу модификаторларын пайдалануды үйрену.


Оқу-зертханалық құрылғылар тізімі: Дербес компьютер немесе ноутбук, Windows/Linux/macOS операциялық жүйелерінің бірі, Turbo С++/Dev C++/Visual C++ бағдарламалау орталарының бірі.


Қысқаша теориялық мағлұмат:


Кластар элементтеріне қол жеткізу үшін қол жетерлік модификасиясы қолданылады. Олар кластың барлық элементтеріне, басқа модификатор кездеспегенше немесе кластың жариялануы бітпегенше қолданылады. 6.1- кестеде қол жеткізу модификаторлары сипатталған.


Кесте 12.1. Қол жеткізу модификаторлар сипаттамасы





Спецификаторлар

Сипаттамасы

Private:

Мәліметтер-мүшелері мен функция-мүшелері тек осы класс функция-мүшелеріне ғана қол жетерлік болады.

Protected:

Мәліметтер-мүшелері мен функция-мүшелері осы класс функция-мүшелеріне және одан өндірілген кластана қол жетерлік болады.

public:

Мәліметтер-мүшелері мен функция-мүшелері тек осы класс функция-мүшелеріне және кластың өкілі бар, программаның басқа функцияларына ғана қол
жетерлік болады.

Кластың мүшелерi static модификаторымен жарияланады. Кластың статикалық мүшесi глобалды айнымалы немесе класс аймағында қол жетерлік функция ретінде қарастыруға болады.


Static модификаторымен жарияланған кластың мәлімет-мүшесі сол кластың барлық өкiлдерiмен бөлiнедi, өйткенi негiзiнен бұл айнымалыда бiр-ақ дана бар болады. Негізінде, кластың ешқандай да өкiлдерi жоқ болса да, статикалық мәлiмет-мүшелеріне жад бөлінеді. Сондықтан, класс статикалық мәлiмет-мүшелерін жариялап қана қоймай, оларды анықтау керек. Мысалы:


class AnyClass
{
public:
AnyClass();
//статикалық мәлімет-мүшені жариялауы static int count;
};
// статикалық мәлімет-мүшесін анықтау int AnyClass::count = 0;

Кластың Public тарауында жарияланған статикалық мәлімет-мүшеге объектінін атауын қолданып келесі конструкция арқылы қол жеткізуге болады:




<объект>.< мәлімет_мүше > немесе
< объектіге_сілтеме> - > < мәлімет_мүше >.

Қарастырылған констуркцияның орнына келесі шақыру формасын қолдану жақсырақ болады:




<класс_атауы>: : < мәлімет_мүше >.

Ол дұрысырақ болады, өйткенi ол барлық кластың жалғыз мәлімет_мүшесі екенін нақтырақ көрсетеді. Егер статикалық мәлімет_мүшелері жабық түрінде жарияланса, оларға қарапайым функция- мүшелері арқылы қол жеткізуге болады. Олардың қол жеткізу процессі басқа мәлiмет-мүшелеріне қол жеткізуден еш айырмашылығы жоқ, бiрақ ол үшiн кластың ең болмаса бiр объектiсін құру керек.


Жоғарыда айтылған бойынша келесi ұсыныстарды беруге болады:

  • кластың бiрнеше объектiлерінің мәлiметтерін бірге қолдану үшін статикалық мәлімет-мүшелерін қолданыңыз;

  • статикалық мәлiмет-мүшелеріне қол жеткізу мүмкіндігін protected немесе private тарауларында жариялау арқылы шектеңiз.





Достарыңызбен бөлісу:
1   ...   60   61   62   63   64   65   66   67   ...   71




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

    Басты бет