Көшіріп алу конструкторы
МАЗМҰНЫ
КІРІСПЕ
НЕГІЗГІ БӨЛІМ
1. С++ тілінің шығу тарихы
2. С ++ тілінің ерекшеліктері
3. С ++ тіліндегі класстар
ҚОРЫТЫНДЫ
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ
Кіріспе
С++ тілінің синтаксистік ережелері басқа тілдерге қарағанда аз,оның компиляторын 256 Кб көлем арқылы-ақ жазып шығуға болады.
Қордағы түйінді сөздер саны да көп емес, Дэннис Ритчи жасаған алғашқы С++ тілінде тек 27 түйінді сөз болды,кейіннен ANSI C стандартында тағы бірнеше сөз қосылды.
Microsoft СС++ нұсқасында тағы 19 командалар мен түйінді сөздер қосылды,соның нәтижесінде олар 66 болды.
Басқа программалау тілдердегі функциялар С++ тілінде жоқ,мысалы,енгізу-шығару операторлары да кездеспейді, оның есесіне кітапханалық әр түрлі функциялар саны жеткілікті.
С ++ тілінде қазіргі тілдерде болатын барлық басқару операторлары бар.
Курстық жұмыстың мазмұны кіріспе, негізгі бөлім, қорытынды, пайдаланған әдебиеттерден тұрады. Негізгі бөлім үш тақырыптан тұрады: С++ тілінің шығу тарихы, С++ тілiнің ерекшеліктері, C ++ тіліндегі класстар.
Курстық жұмыстың мақсаты: С ++ тіліндегі класстарды кеңінен ашып, түсінікті етіп көрсету.
C++ тілінде бағдарламалаушы берілгендердің бос типтердің енгізу мен класстар арқылы орындалатын операцияларды анықтау мүмкіндіктеріне ие.
Класс - бұл бар типтер негізіндегі туынды құрылымы бар (структурированный) тип. Класс компонеттері деректер, функциялар, класстар, санап шығулар, биттік өрістер, достасқан функциялар мен типтер атаулары бола алады.
С++ тілінің шығу тарихы
С++ тілінің шығуы UNIX операциялық жүйесімен тығыз байланысты, өйткені бұл ОС осы С тілінде жазылып шыққан. UNIXC жұмыс істеу ортасы Си тілін жүйелік программалау тілі ретінде елге таныстырды,ол компиляторлар мен ОС-тер жазу үшін қолайлы деп саналады. Бірақ Си тілі кез келген салада программалар жазуға да өте қолайлы тіл болып табылады.
Алғаш рет UNIX 1969 жылы Нью-Джерси штатындағы Белл фирмасының лабораториясында PDP-7 мини-ЭЕМ-інде жасалып шықты. UNIX PDP-7 компьютерінің ассемблер тілінде жазылды.Бұдан соң сол лабораторияның жетекшісі Кен Томпсон 1970 жылы В деп аталған жаңа тілге арнап компилятор жасап шықты. Осы тілді Си тілінің негізі деп атауға болады. Жалпы Си тілінің даму жолына қарасақ;
Алгол-60 1960-жылдың басында халықаралық комитет басып шығарды
CRL (Combined Programming Language) Кембриджде және Лондон университетінде 1960 ж.қатарласа жасалды.
BCPL (Basic Combined Programming Language) Кембриджде Мартин Ричардс 1967 ж. жасап шығарды.
В Bell Labs қызметкері Кен Томпсон 1970 жылы жасады
С Bell Labs қызметкері Дэннис Ритчи 1972 жылы жасады
Сонымен,1983 жылы С++ тілінің стандартын жасау мақсатында (ANSI C) Америка Ұлттық стандарттар институты (ANSI) құрылды.
С++ тілінің ерекшеліктері
Көлемінің шағындығы
С++ тілінің синтаксистік ережелері басқа тілдерге қарағанда аз,оның компиляторын 256 Кб көлем арқылы-ақ жазып шығуға болады.Мұндағы операциялық әрекеттер,олардың комбинациясы жетерлік,бірақ қордағы түйінді сөздер саны да көп емес, Дэннис Ритчи жасаған алғашқы С++ тілінде тек 27 түйінді сөз болды,кейіннен ANSI C стандартында тағы бірнеше сөз қосылды.
Тілдің командалар жиыны
Microsoft СС++ нұсқасында тағы 19 командалар мен түйінді сөздер қосылды,соның нәтижесінде олар 66 болды.
Басқа программалау тілдердегі функциялар С++ тілінде жоқ,мысалы,енгізу-шығару операторлары да кездеспейді, оның есесіне кітапханалық әр түрлі функциялар саны жеткілікті.
Жылдам істейтіндігі
С++ компиляторлары жасаған программа кодтары шағын,әрі жылдам істейді,оның үстіне тілдің аппараттық құралдарға жақындығы ассемблер тіліменен қатар жылдамдықпен жұмыс істеуге мүмкіндік береді.
Типтері де күрделі емес(Язык со слабой типизацией)
Паскальға қарағанда,мәліметтерді типтендіру мұнда төменгі деңгейде ,ол типтерді бір-біріне жеңіл ауыстырады.Мұндай қасиет В тілінен келді.Мысалы,программаның бір жерінде айнымалы символдық болса,ал басқа жерде оны символдың
ASCI - коды (одан 32-ні алып) ретінде қарастыруға болады.
Құрылымды тіл болғандығы(Структурированный язык)
С++ тілінде қазіргі тілдерде болатын барлық басқару операторлары бар. 1971 жылдың өзінде-ақ жаңа ғана жасалған С++ тілі алғашқы құрылымдық программалау тілі ретінде танылған еді.Мұнда;for - цикл операторы, if және if-else конструкциясы, таңдау операторы (switch) және while циклы да бар.
Модульдік программалауды сүйемелдеуі
С++ тілінде жеке компиляциялау мен біріктіруден құралатын модульдік программалау концепциясы пайданылады.Мұнда тек программаның өзгертілген бөліктерін жеке компиляциялау мүмкіндігі бар.
Екілік разрядтағы өңдеуі
Жүйелік программалауда екілік разрядтарды өңдеу ісі жиі кездеседі.Әрине, UNIX операциялық системасымен тығыз байланыста пайда болған С++ тілінің екілік сандармен жұмыс істеу мүмкіндіктері өте зор.
Нұсқаушы айнымалылар
Операциялық жүйе тіліне қойылатын тағы бір талап -- ол жады аймақтарын адрестеу мүмкіндігінің болуы. Мұндй мүмкіндік программа орындалуын жылдамдатады. С++ тілінде мұндай істі нұсқаушылар (указатели) атқарады және олармен арифметикалық амалдарды орындауға болады.
Құрылымы икемді тіл
С++ тіліндегі барлық массивтер -- бір өлшемді. Көп өлшемді массивтер осы бір өлшемді массивтерден құрылады. Массивтер мен құрылымдар (жазбалар) бір - бірімен керекті түрде байланысып, мәліметтер базасын құрайды.
С++ тіліндегі класстар
С++ тілінде бағдарламалаушы берілгендердің бос типтердің енгізу мен класстар арқылы орындалатын операцияларды анықтау мүмкіндіктеріне ие.
Класс - бұл бар типтер негізіндегі туындықұрылымы бар (структурированный) тип. Класс ең оңай әдіспен келесі конструкция арқылы анықтауға болады:
Класс_кілті класс_аты{компоненттер тізімі};
Мұнда класс_кілті - class, struct,union қызметші сөздерінің бірі;
класс_аты еркімен таңдалатын идентификатор;
компоненттер тізімі клссқа қатысты функциялармен типтелген берілгендерді сипаттаушылар мен анықтамалары. Компоненттер объект күйін және класс объектісінің тәртібін шартқа негіздейді. Класс компонеттері деректер, функциялар, класстар, санап шығулар, биттік өрістер, достасқан функциялар мен типтер атаулары бола алады. Мысалы:
Class Classid
{ int k; k, x, y жабық мүшелер - үнсіздік бойынша берілгендер
double x,y;
public: char lit,ch; lit,ch ашық мүшелер деректер
int f3(int, int); класстың ашық әдістері
int Get x (void) класстың орнына қою әдісі
{return x;}
private:
void f1 (void); жабық мүшелер - класс әдістері
int f2(int);
};
Қатынау спецификаторлары public: және private: қатынау спецификаторлары класс мүшелеріне өтуге мүмкіндік беретін режимді анықтайды: private - класс мүшелерін жабыққы айналдырады, ал public - ашық. Класстың жабық мүшелеріне тек берілген класс мүшелерінің қатынауға рұқсаты бар, сонымен қатар функциялардың - класс достары. Класстың ашық мүшелеріне кез келген функциялардың қатынауға мүмкіншіліктері бар.
Олар бар болып табылатын бағдарлама мен класс объектілерінің байланысы үшін арналған. Классты жобалап отырып, оның қай мүшесін ашық, ал қайсысын жабық етуді мұқият ойластырған жөн. Көптеген жағдайда класс анықтамасы блокта локализацияланбаған, және класс атауының іс -- әрекет облысы бүкіл файл болып табылады.
Жай класстық әдістерін анықтау класс анықтамасының ішінде болуы мүмкін және мұндай жағдайда олар автоматты түрде орын ауыстырғандар болып табылады. Орын ауыстыратын функцияларды егер функция қарапайым және қысқа болса, қолданған жөн, мысалы Get x () фукциясы.
Әдетте, қауіпсіздікті жоғарлату мақсатымен классты мүше берілгендерін жалпыға бірдей рұқсат етілмейтін етеді және еркін бағдарлама ортасынан олармен тікелей байланысуға болмайды. Бірақ оған қарамастан олармен класстың барлығына рұқсат етілгенәдістерін қолданып ерікті бағдарламалық ортадан да жұмыс істеуге болады (public:). Жоғарыда қарастырылған мысал үшін келесі әдіс қолданылады:
int Get x (void)
return x;
жабық мүше мәнін берілген х қайтарады.
Арнайы түрде мұндай әдістердің жүдеу денелерін тиімділікті жоғарлату үшін орын ауыстырушы етіп класс анықтамасының ішінде енгізеді. Класс анықтамасынан тыс орналастыратын әдістерді анықтаған жағдайда әдістер тақырыбына inline спецификаторы қосылады.
Клиент - сервер технологиясы бойынша класс әдістерін анықтау класс анықтамасынан тыс орналастырған жөн. Көру облысының :: рұқсат ету операторы арқылы компиляторға берілген анықталатын әдіс қандай классқа қатысты екендігін хабарлайды, мысалы:
int Classid:: f2(int х)
{әдіс денесі}
Класс анықтамасы берілген класс объектілерін құрмайды. Объектілер оларды анықтау жолымен құрады, мысалы:
Classid obj1, obj2, obj Array
Класс объектісінің өлшемі класстың статистикалық емес мүше берілгендерінің өлшемдер қосындысымен жадыда анықталады.
Бірнеше файлдардан тұратын бағдарламалық жобалармен жұмысжасағанда класс анықтамасы берілген класс объектілері қолданатын ... жалғасы
КІРІСПЕ
НЕГІЗГІ БӨЛІМ
1. С++ тілінің шығу тарихы
2. С ++ тілінің ерекшеліктері
3. С ++ тіліндегі класстар
ҚОРЫТЫНДЫ
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ
Кіріспе
С++ тілінің синтаксистік ережелері басқа тілдерге қарағанда аз,оның компиляторын 256 Кб көлем арқылы-ақ жазып шығуға болады.
Қордағы түйінді сөздер саны да көп емес, Дэннис Ритчи жасаған алғашқы С++ тілінде тек 27 түйінді сөз болды,кейіннен ANSI C стандартында тағы бірнеше сөз қосылды.
Microsoft СС++ нұсқасында тағы 19 командалар мен түйінді сөздер қосылды,соның нәтижесінде олар 66 болды.
Басқа программалау тілдердегі функциялар С++ тілінде жоқ,мысалы,енгізу-шығару операторлары да кездеспейді, оның есесіне кітапханалық әр түрлі функциялар саны жеткілікті.
С ++ тілінде қазіргі тілдерде болатын барлық басқару операторлары бар.
Курстық жұмыстың мазмұны кіріспе, негізгі бөлім, қорытынды, пайдаланған әдебиеттерден тұрады. Негізгі бөлім үш тақырыптан тұрады: С++ тілінің шығу тарихы, С++ тілiнің ерекшеліктері, C ++ тіліндегі класстар.
Курстық жұмыстың мақсаты: С ++ тіліндегі класстарды кеңінен ашып, түсінікті етіп көрсету.
C++ тілінде бағдарламалаушы берілгендердің бос типтердің енгізу мен класстар арқылы орындалатын операцияларды анықтау мүмкіндіктеріне ие.
Класс - бұл бар типтер негізіндегі туынды құрылымы бар (структурированный) тип. Класс компонеттері деректер, функциялар, класстар, санап шығулар, биттік өрістер, достасқан функциялар мен типтер атаулары бола алады.
С++ тілінің шығу тарихы
С++ тілінің шығуы UNIX операциялық жүйесімен тығыз байланысты, өйткені бұл ОС осы С тілінде жазылып шыққан. UNIXC жұмыс істеу ортасы Си тілін жүйелік программалау тілі ретінде елге таныстырды,ол компиляторлар мен ОС-тер жазу үшін қолайлы деп саналады. Бірақ Си тілі кез келген салада программалар жазуға да өте қолайлы тіл болып табылады.
Алғаш рет UNIX 1969 жылы Нью-Джерси штатындағы Белл фирмасының лабораториясында PDP-7 мини-ЭЕМ-інде жасалып шықты. UNIX PDP-7 компьютерінің ассемблер тілінде жазылды.Бұдан соң сол лабораторияның жетекшісі Кен Томпсон 1970 жылы В деп аталған жаңа тілге арнап компилятор жасап шықты. Осы тілді Си тілінің негізі деп атауға болады. Жалпы Си тілінің даму жолына қарасақ;
Алгол-60 1960-жылдың басында халықаралық комитет басып шығарды
CRL (Combined Programming Language) Кембриджде және Лондон университетінде 1960 ж.қатарласа жасалды.
BCPL (Basic Combined Programming Language) Кембриджде Мартин Ричардс 1967 ж. жасап шығарды.
В Bell Labs қызметкері Кен Томпсон 1970 жылы жасады
С Bell Labs қызметкері Дэннис Ритчи 1972 жылы жасады
Сонымен,1983 жылы С++ тілінің стандартын жасау мақсатында (ANSI C) Америка Ұлттық стандарттар институты (ANSI) құрылды.
С++ тілінің ерекшеліктері
Көлемінің шағындығы
С++ тілінің синтаксистік ережелері басқа тілдерге қарағанда аз,оның компиляторын 256 Кб көлем арқылы-ақ жазып шығуға болады.Мұндағы операциялық әрекеттер,олардың комбинациясы жетерлік,бірақ қордағы түйінді сөздер саны да көп емес, Дэннис Ритчи жасаған алғашқы С++ тілінде тек 27 түйінді сөз болды,кейіннен ANSI C стандартында тағы бірнеше сөз қосылды.
Тілдің командалар жиыны
Microsoft СС++ нұсқасында тағы 19 командалар мен түйінді сөздер қосылды,соның нәтижесінде олар 66 болды.
Басқа программалау тілдердегі функциялар С++ тілінде жоқ,мысалы,енгізу-шығару операторлары да кездеспейді, оның есесіне кітапханалық әр түрлі функциялар саны жеткілікті.
Жылдам істейтіндігі
С++ компиляторлары жасаған программа кодтары шағын,әрі жылдам істейді,оның үстіне тілдің аппараттық құралдарға жақындығы ассемблер тіліменен қатар жылдамдықпен жұмыс істеуге мүмкіндік береді.
Типтері де күрделі емес(Язык со слабой типизацией)
Паскальға қарағанда,мәліметтерді типтендіру мұнда төменгі деңгейде ,ол типтерді бір-біріне жеңіл ауыстырады.Мұндай қасиет В тілінен келді.Мысалы,программаның бір жерінде айнымалы символдық болса,ал басқа жерде оны символдың
ASCI - коды (одан 32-ні алып) ретінде қарастыруға болады.
Құрылымды тіл болғандығы(Структурированный язык)
С++ тілінде қазіргі тілдерде болатын барлық басқару операторлары бар. 1971 жылдың өзінде-ақ жаңа ғана жасалған С++ тілі алғашқы құрылымдық программалау тілі ретінде танылған еді.Мұнда;for - цикл операторы, if және if-else конструкциясы, таңдау операторы (switch) және while циклы да бар.
Модульдік программалауды сүйемелдеуі
С++ тілінде жеке компиляциялау мен біріктіруден құралатын модульдік программалау концепциясы пайданылады.Мұнда тек программаның өзгертілген бөліктерін жеке компиляциялау мүмкіндігі бар.
Екілік разрядтағы өңдеуі
Жүйелік программалауда екілік разрядтарды өңдеу ісі жиі кездеседі.Әрине, UNIX операциялық системасымен тығыз байланыста пайда болған С++ тілінің екілік сандармен жұмыс істеу мүмкіндіктері өте зор.
Нұсқаушы айнымалылар
Операциялық жүйе тіліне қойылатын тағы бір талап -- ол жады аймақтарын адрестеу мүмкіндігінің болуы. Мұндй мүмкіндік программа орындалуын жылдамдатады. С++ тілінде мұндай істі нұсқаушылар (указатели) атқарады және олармен арифметикалық амалдарды орындауға болады.
Құрылымы икемді тіл
С++ тіліндегі барлық массивтер -- бір өлшемді. Көп өлшемді массивтер осы бір өлшемді массивтерден құрылады. Массивтер мен құрылымдар (жазбалар) бір - бірімен керекті түрде байланысып, мәліметтер базасын құрайды.
С++ тіліндегі класстар
С++ тілінде бағдарламалаушы берілгендердің бос типтердің енгізу мен класстар арқылы орындалатын операцияларды анықтау мүмкіндіктеріне ие.
Класс - бұл бар типтер негізіндегі туындықұрылымы бар (структурированный) тип. Класс ең оңай әдіспен келесі конструкция арқылы анықтауға болады:
Класс_кілті класс_аты{компоненттер тізімі};
Мұнда класс_кілті - class, struct,union қызметші сөздерінің бірі;
класс_аты еркімен таңдалатын идентификатор;
компоненттер тізімі клссқа қатысты функциялармен типтелген берілгендерді сипаттаушылар мен анықтамалары. Компоненттер объект күйін және класс объектісінің тәртібін шартқа негіздейді. Класс компонеттері деректер, функциялар, класстар, санап шығулар, биттік өрістер, достасқан функциялар мен типтер атаулары бола алады. Мысалы:
Class Classid
{ int k; k, x, y жабық мүшелер - үнсіздік бойынша берілгендер
double x,y;
public: char lit,ch; lit,ch ашық мүшелер деректер
int f3(int, int); класстың ашық әдістері
int Get x (void) класстың орнына қою әдісі
{return x;}
private:
void f1 (void); жабық мүшелер - класс әдістері
int f2(int);
};
Қатынау спецификаторлары public: және private: қатынау спецификаторлары класс мүшелеріне өтуге мүмкіндік беретін режимді анықтайды: private - класс мүшелерін жабыққы айналдырады, ал public - ашық. Класстың жабық мүшелеріне тек берілген класс мүшелерінің қатынауға рұқсаты бар, сонымен қатар функциялардың - класс достары. Класстың ашық мүшелеріне кез келген функциялардың қатынауға мүмкіншіліктері бар.
Олар бар болып табылатын бағдарлама мен класс объектілерінің байланысы үшін арналған. Классты жобалап отырып, оның қай мүшесін ашық, ал қайсысын жабық етуді мұқият ойластырған жөн. Көптеген жағдайда класс анықтамасы блокта локализацияланбаған, және класс атауының іс -- әрекет облысы бүкіл файл болып табылады.
Жай класстық әдістерін анықтау класс анықтамасының ішінде болуы мүмкін және мұндай жағдайда олар автоматты түрде орын ауыстырғандар болып табылады. Орын ауыстыратын функцияларды егер функция қарапайым және қысқа болса, қолданған жөн, мысалы Get x () фукциясы.
Әдетте, қауіпсіздікті жоғарлату мақсатымен классты мүше берілгендерін жалпыға бірдей рұқсат етілмейтін етеді және еркін бағдарлама ортасынан олармен тікелей байланысуға болмайды. Бірақ оған қарамастан олармен класстың барлығына рұқсат етілгенәдістерін қолданып ерікті бағдарламалық ортадан да жұмыс істеуге болады (public:). Жоғарыда қарастырылған мысал үшін келесі әдіс қолданылады:
int Get x (void)
return x;
жабық мүше мәнін берілген х қайтарады.
Арнайы түрде мұндай әдістердің жүдеу денелерін тиімділікті жоғарлату үшін орын ауыстырушы етіп класс анықтамасының ішінде енгізеді. Класс анықтамасынан тыс орналастыратын әдістерді анықтаған жағдайда әдістер тақырыбына inline спецификаторы қосылады.
Клиент - сервер технологиясы бойынша класс әдістерін анықтау класс анықтамасынан тыс орналастырған жөн. Көру облысының :: рұқсат ету операторы арқылы компиляторға берілген анықталатын әдіс қандай классқа қатысты екендігін хабарлайды, мысалы:
int Classid:: f2(int х)
{әдіс денесі}
Класс анықтамасы берілген класс объектілерін құрмайды. Объектілер оларды анықтау жолымен құрады, мысалы:
Classid obj1, obj2, obj Array
Класс объектісінің өлшемі класстың статистикалық емес мүше берілгендерінің өлшемдер қосындысымен жадыда анықталады.
Бірнеше файлдардан тұратын бағдарламалық жобалармен жұмысжасағанда класс анықтамасы берілген класс объектілері қолданатын ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz