Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМКД_ОБП_Урдабаева.doc
Скачиваний:
113
Добавлен:
01.03.2016
Размер:
1.29 Mб
Скачать

2. Орындауға арналған тапсырмалар:

  1. Дата класымен жұмыс жасайтын программа құрыңыз. Программа берілген класпен енгізу, мәнді шығару амалдарын орындасын.

  2. Жол класымен жұмыс жасайтын программа құрыңыз. Класс келесі өрістерді қосуы керек: жол массиві, оның ұзындығы, құрылған уақыты. Программа берілген класпен жұмыс жасайтын қарапайым функцияларды қамтуы керек: жолды өзгерту, жолды енгізу, жолдан жол бөлігін табу.

  1. Өз бетімен орындауға арналған тапсырмалар (үй тапсырмасы):

  1. Призма бетінің ауданын және көлемін есептеу мүмкіндігін беретін объект құрылымын сипаттау. Берілген объект көмегімен призма бетінің ауданы мен көлемін есептейтін программа жазу.

  2. Жолдарға арналған класс құру. Жол символдар масссиві ретінде сақталуы қажет. Класта ішкі жолдарды алу, барлық символдарды жоғарғы және төменгі регистрлерге ауыстыру әдістері қарастырылу қажет.

  3. Кез келген өлшемді матрицаны сипаттайтын класс құру. Жолдар мен бағандар санын өзгерту мүмкіндігін, кез келген өлшемді ішкі матрицаны және барлық матрицаны экранға шығару мүмкіндігін қарастыру. Осы класпен жұмыс жасайтын программа жазу. Программада кластың барлық әдістерін тексеруге мүмкіндік беретін мәзір болуы қажет.

БЛИЦ-ТЕСТ

1. Класс типті айнымалылар қалай аталады?

a) өрістер b) әдістер c) объектілер d) мұрагерлік

2. Класс функциялары бұл -

a) өрістер b) әдістер c) объектілер d) полиморфизм

3. Қай бөлімде жарияланған класс компоненттері қорғалған деп аталады?

a) public b) private c) protected d) class

4. Қай бөлімде жарияланған класс компоненттері ішкі деп аталады?

a) public b) private c) protected d) class

5. Қай бөлімде жарияланған класс компоненттері жалпы деп аталады?

a) public b) private c) protected d) class

ӘДЕБИЕТТЕР:

  1. Г.С. Иванова и др. ООП: Учебник для вузов, М., Изд-во МГТУ им.Баумана, 2003.- 368 с.

  2. Павловская Т.А. С и С++. Программирование на языке высокого уровня.

  3. Р.Вайнер, Л.Пинсон. С++ ИЗНУТРИ.

  4. Р. Лафоре. Объектно-ориентированное программирование в С++.4-е издание. Питер.2004

  5. Г. Шилдт. Самоучитель C++. - Санкт-Петербург, Изд. BHV, 2004.

  6. А.В. Замулин. Курс лекций: Объектно-ориентированное программирование (С++)

  7. Подбельский В.В., Фомин С.С. Программирование на языке Си: Учебное пособие. – М.: Финансы и статистика, 2004

Практикалық жұмыс №2 конструкторларды және деструкторларды құру

ЖҰМЫС МАҚСАТЫ: конструкторлардың әртүрлі типтерінің ерекшеліктерін меңгерту, деструкторлардың қолданылу жағдайларын қарастыру.

ПРАКТИКАЛЫҚ САБАҚ ЖОСПАРЫ:

  1. Негізгі теориялық мәліметтерді қайталау.

  2. Шығарылған мысал есептерді талқылау.

  3. Тапсырма ретінде берілген есептерді шығару.

  4. Өз бетімен орындауға үй тапсырмасын беру.

  5. Сабақты қорытындылау. Блиц-тест.

БАҚЫЛАУ СҰРАҚТАРЫ:

  1. class-тың struct-тан айырмашылығы неде?

  2. Конструктор дегеніміз не, ол не үшін қажет, қашан шақырылады?

  3. Деструктор дегеніміз не, ол не үшін қажет, қашан шақырылады?

  4. Көшіру конструкторының ерекшелігі неде және қай кезде қажет?

  5. Конструктордың түрлері қандай?

ГЛОССАРИЙ

Конструктор – класс айнымалыларын инициализациялауға және жадыдан орын бөлуге арналған айрықша функция.

Қалыпты жағдайда берілген конструктор – инициализациялауға арналған айқын мәндер болмаған кезде объект құруға пайдаланылатын конструктор.

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

Объект – класс типті айнымалы.

  1. Төменде келтірілген мысалдарды талқылаңыз:

1-мысал.

Есептің берілгені: Time класына параметрлі конструкторды қолдану арқылы мән беру.

Программасы:

#include<iostream.h>

#include<conio.h>

Class Time(int h,int m,int s){

{

Public:

Time();

Void settime(int,int,int);

Void print();

Privaite:

Int hour;

Int minute;

Int second; };

Time::Time();

Hour=minute=recond=0; }

Void Time::Settime (int h,int m, int s){

If ((h>=0)&&(h<24) hour=h; else hour=0;

If ((m>=0)&&(m<60)minute=m; else minute=0;

If ((s>=0)&&(s<60) second=s; else second=0;

/* hour=((h>=0)&&(h<24))?h:0;

minute=(m>=0 && m<60)?m:0;

second=(s>=0 && s<60)?s:0;

void Time::printMlitary()}

cout<<hour<<”:”<<minute<<”:”<<second; }

Main()

{ Time t;

Cout<<”уақытты енгізу”;

t.print();

cout<<endl.

t.Settime(13,27,6);

cout<<endl;

t.print();

getch(); }

2-мысал. Конструктор sstr класының объект өрістерін инициализациялайды және жол ұзындығын тексеруді орындайды.

#include <string.h>

#include <iostream.h>

#include <conio.h>

class sstr

{private: char strl[40];

public: int x,y;

void print(void)

{cout«" жалпы өрістер мазмұны: " « endl;

cout«"x= "«x«"y= "«y«endl;

cout«"жасырылған өрістер мазмұны:" « endl;

cout«" str1=" «strl«endl;}

sstr(int vx, int vy, char *vs) // sstr класының конструкторы

{ int len=strlen(vs);

if(len>=40) {strncpy(strl,vs,40);str1[40]=’\0’;} elsestrcpy(str1,vs);

x=vx;y=vy; }

} :

Void main()

{ clrscr();

sstr аа(200, 150,'' конструктора мысалы '');

aa.print();

getch();

}