
- •3.Тіл құрамы, тіл алфавиті, түсініктемелері
- •4.Идентификаторлар.Түйінді сөздер.Тұрақтылар
- •5.Функцияларды хабарлау, анықтау. Функцияның параметрлері. Рекурсивті функция
- •6.Негізігі мәліметтер типтері.Унарлы, бинарлы, тернарлы операциялар
- •7.Программа құрылымы, Айнымалылар мен
- •8.If, switch Тармақталу операторлары.Шартты оператордың құрылымдық сұлбасы
- •9.For, do while, while циклдік операторлары
- •10. Goto, Break, continue, return басқаруды беру операторлары
- •11.Нұсқауыштар мен жиымдар.Екі өлшемді жиымдар
- •12.Қатарлар. Қатарларға қолданылатын функциялар
- •15 .Borland Builder 6.0 прграммалау ортасының бас терезесінің құрылымы
- •19.Конструкторлар.Қатарларды түрлендіру, қатардың құрамын іздеу
- •20.Деструкторлар және оның қасиеттері
- •21. Класстың достық функциялары, шаблондары
- •22.Мұрагерлік.Жай және көптік мұрагерлік
- •23.Абстрактілі класс, виртуалды функция
- •24.Ағымдар, стандартты файлдық және қатарлық ағымдар
- •25.Манипуляторлар.Жай және параметрлі манипуляторлар
- •26. Stl (Standard Template Library) кітапханасының құрылымы, итераторлар
- •27.Тізбекті контейнерлер, векторлар, кезектер
- •28.Екі жақты кезектер, стектер, тізімдер
- •29.Ассоциативті контейнерлер. Сөздіктер, жиындар
- •30.Алгоритмдер, функционалды объектілер, адаптерлер
21. Класстың достық функциялары, шаблондары
Класстың достық функциялары- бұл класстың қорғалған (protected) және жабық (private) бөліктеріне енуді қамтамасыз ететін, бірақ берілген класстың мүшесі болып табылмайтын функциялар. Достық функциялар friend түйінді сөзінің көмегімен класстың кез-келген бөлігінде хабарланады. Достық функциялар классты анықтаудың сыртында анықталуы тиіс: көрінудің ауқымды аймағында немесе басқа класста. Достық функциялар бірден бірнеше классқа дос болуы мүмкін.
Шаблондар класстар мен функциялардың шексіз туыстарын (родственные) құруға мүмкіндік береді. Шаблон мәліметтер типінің параметрі ретінде қолданылады.
Функция шаблонын анықтау синтаксисі:
template <шаблон_параметрлерінің_тізімі> функцияны_анықтау
Класс шаблонын анықтау синтаксисі:
template <шаблон_параметрлерінің_тізімі> классты_анықтау
Шаблон немесе шаблон аргументі бойынша функцияны немесе/және класстарды хабрлауды құру үрдісі шаблонның инстанцированиесі деп аталады.
22.Мұрагерлік.Жай және көптік мұрагерлік
Объектілі-бағытталған программалаудың негізгі қасиеті мұрагерлік болып табылады. В класы A класын мұрагерлікке алды десек, онда В класының атынан кейін қос нүкте қойылады:
class A {public:
A();
~A();
MethodA();};
class B : public A {public:
B(); . . .};
«Мұрагерлік" термині В класы А класының барлық қасиеттеріне ие дегенді білдіреді, яғни мұрагерлікке алды. Туынды класстың объектілері базалық класстың барлық атрибуттары мен функцияларына ие. Сонымен қатар жаңа класс өз атрибуттары мен функцияларын қоса алады. Туынды класс басқа класстар үшін базалық бола алады. Мұрагерліктің қатынастарын бейнелей отырып, оларды ағаш түрінде немесе иерархия түрінде береді.
Егер туынды класстың тек бір ғана базалық класы (ата-анасы - родители) болатын болса, онда мұрагерлік жай мұрагерлік деп аталады. Егер туынды класстың бірнеше базалық класстары болатын болса, онда мұрагерлік көптік (множественное) мұрагерлік деп аталады.
23.Абстрактілі класс, виртуалды функция
Егер класстың ең болмағанда бір виртуалды функциясы болса, онда ол класс абстрактілі класс деп аталады. Виртуалды функциялар төмендегідей хабарланады:
class className1
{ // функция-мүшелер
virtual returnType functionName(<параметрлер тізімі>); };
class className2 : public className1
{ // функция-мүшелер
virtual returnType functionName(<параметрлер тізімі>); };
Экранда фигураларды бейнелейтін программаны жазайық. Фигураның жалпы атрибуттары shape класымен, ал арнайы атрибуттар – арнайы класспен берілген:
class shape { point center;
color col; //...
public: void move(point to)
{ center=to; draw(); }
point where() { return center; }
virtual void draw();
virtual void rotate(int);
//... };
Нақты фигураны білмей, функцияларды анықтағанда (мысалы, move және where, яғни, «қозғау" және «мұндағы"), жай сипаттай беруге болады. Қалған функциялар виртуалды сипатталынады.
Мысалы: class circle:
public shape { int radius;
public: void draw();
void rotatte(int i) {}
//... };