
- •4. Идентификаторлар. Түйінді сөздер. Тұрақтылар.
- •5. Функцияларды хабарлау және анықтау. Функцияның параметрлері. Рекурсивті функциялар.
- •6. Негізгі мәліметтер типтері. Унарлы, бинарлы, тернарлы операциялар.
- •7.Программа құрылымы. Айнымалылар және өрнектер.
- •8. If, switch тармақталу операторлары. Шартты оператордың құрылымдық сұлбасы.
- •9.For, do while, while циклдік операторлары.
- •10. Goto, Break, continue, return басқаруды беру операторлары
- •11.Нұсқауыштар мен жиымдар. Екі өлшемді жиымдар.
- •Int ivar,*iptr;
- •12. Қатарлар. Қатарларға қолданылатын функциялар
- •13. Typedef, enum қолданушы анықтайтын мәліметтер типтері.
- •14. Struct, union қолданушы анықтайтын мәліметтер типтері.
- •16. Объектіге бағытталған программалаудың негізі. Базалық кластың хабарлануы, анықталуы.
- •17. Конструктор және оның қасиеттері. Көшіру конструкторлары.
- •18. Конструкторлар және қатарларды меншіктеу. Қатардың бөлігін қосу және меншіктеу функциялары.
- •19.Конструкторлар.Қатарларды түрлендіру, қатардың құрамын іздеу
- •22. Мұрагерлік. Жай және көптік мұрагерлік.
- •23. Абстрактілі класс. Виртуалды функциялар.
- •24. Ағымдар. Стандартты, файлдық және қатарлық ағымдар.
- •25. Манипуляторлар. Жай және параметрлі манипуляторлар
- •26. Stl (Standard Template Library) кітапханасының құрылымы. Итераторлар.
- •27. Тізбекті контейнерлер. Векторлар, кезектер.
- •28.Екі жақты кезектер, стектер, тізімдер
- •29. Ассоциативті контейнерлер. Сөздіктер. Жиындар.
- •30. Stl (Standard Template Library) кітапханасының құрылымы
22. Мұрагерлік. Жай және көптік мұрагерлік.
Объектілі-бағытталған программалаудың негізгі қасиеті мұрагерлік болып табылады. В класы A класын мұрагерлікке алды десек, онда В класының атынан кейін қос нүкте қойылады:
class A {
public:
A();
~A();
MethodA();};
class B : public A {public:
B(); . . .};
#include <iostream>
using namespace std;
class student {
Protected: int st;
public:
student(){
st=32;
cout<<“barlygy: "<<st<<endl; }};
class studentb : public student {
Public: studentb(){
st=11;
cout<<“grant: "<<st<<endl; }};
class studentc : public student {
public:
studentc(){ st=21; cout<<“akyly: "<<st<<endl; }};
int main(){ student a; studentb b; studentc c;
a.student(); b.studentb(); c.studentc(); return 0;}
«Мұрагерлік" термині В класы А класының барлық қасиеттеріне ие дегенді білдіреді, яғни мұрагерлікке алды. Туынды класстың объектілері базалық класстың барлық атрибуттары мен функцияларына ие. Сонымен қатар жаңа класс өз атрибуттары мен функцияларын қоса алады. Туынды класс басқа класстар үшін базалық бола алады. Мұрагерліктің қатынастарын бейнелей отырып, оларды ағаш түрінде немесе иерархия түрінде береді.
Егер туынды класстың тек бір ғана базалық класы (ата-анасы - родители) болатын болса, онда мұрагерлік жай мұрагерлік деп аталады.
Егер туынды класстың бірнеше базалық класстары болатын болса, онда мұрагерлік көптік (множественное) мұрагерлік деп аталады.
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) {}
//..
24. Ағымдар. Стандартты, файлдық және қатарлық ағымдар.
Ағым (поток)- мәліметтерді мәлімет көзінен қабылдағышқа беруге қатысты абстрактілі түсінік. Ағымнан мәліметтерді оқу алу (извлечение), ал ағымға беру орналастыру (помещение) деп аталады. Ағым байттар тізбегі ретінде анықталады және алмастыру жүргізілетін құрылғыдан тәуелсіз. Ағымдағы алмасулар жедел жадының арнайы аймағы – буфер арқылы жүзеге асады. Алмасу бағыты бойынша ағымдарды кіріс, шығыс, екі бағытты (кіріс-шығыс) деп бөлуге болады. Ағым жұмыс істейтін құрылғының түрі бойынша ағымдарды стандартты, файлдық және қатарлық деп бөлуге болады. Стандартты ағымдар мәліметтерді пернетақтадан экранға беру үшін, файлдық ағымдар сыртқы мәлімет тасығыштардағы файлдармен мәлімет алмасу үшін, ал қатарлық ағымдар жедел жадыдағы символдар жиымымен жұмыс істеу үшін арналған.С++ библиотекасы ағымдарды қолдау үшін ios, streambuf екі базалық класс негізінде тұрғызылған класстар иерархиясынан тұрады. Төменде жиі қолданылатын ағымдар класы берілген:
ios – ағымдардың базалық класы
istream – кіріс ағымдардың класы
ostream- шығыс ағымдардың класы
iostream – екібағытты ағымдардың класы
istringstream- кіріс қатарлық ағымдардың класы
ostringstream- шығыс қатарлық ағымдардың класы
stringstream - екібағытты қатарлық ағымдардың класы
ifstream- кіріс файлдық ағымдардың класы
ofstream- шығыс файлдық ағымдардың класы
fstream - екібағытты файлдық ағымдардың класы
<ios>-енгізу/шығару ағымының базалық класы
<iosfwd>-енгізу/шығару жабдықтарын алдын-ала хабарлау
<istream>- енгізу ағымының шаблоны
<ostream>- шығару ағымының шаблоны
<iostream>- стандартты объектілер және енгізу/шығару ағымдарымен операциялар
<fstream> - файлдағы енгізу/шығару ағымдары
<sstream> - қатардағы енгізу/шығару ағымдары
<streambuf>- енгізу/шығару ағымдарын буферизациялау
<iomanip>- манипуляторлар
Үнсіздік келісімі бойынша шығару форматы программистті қанағатандырмаса, онда оны жалаушанаң, манипулятрдың, форматтау әдістерінің көмегімен түзете алады. Ағымдық класста мәліметтерді форматтаудың үш тәсілі бар: жалаушалар (флаги), манипуляторлар, форматтау әдістері.ios класының long типті ×_flags өрісіне біріккен жеке биттер жалаушаны құрайды. Форматтау жалаушалары:skipws, left, right, internal, dec, oct, hex, showbase, showpoint, showpos, unitbuf, fixed.