Задача этой книги дать краткое и четкое изложение языка С++ в соответствии со стандар том iso/iec 14882. Она предназначена для студентов, изучающих язык «с нуля»



Download 2 Mb.
bet221/232
Sana29.03.2022
Hajmi2 Mb.
#516205
TuriЗадача
1   ...   217   218   219   220   221   222   223   224   ...   232
Bog'liq
Т. А. Павловская C C . Программирование на языке высокого уровня

Рис. 16.1. Иерархия классов стандартных исключений

Íèæå êðaòêî îïèñaíû ýòè êëaññû:



  • bad_allOC îøèáêa ïðè äèíaìè÷åñêîì ðañïðåäåëåíèè ïaìяòè ñ ïîìîùüþ new;

  • bad_Cast íåïðaâèëüíîå èñïîëüçîâaíèå îïåðaòîða dynamiC_Cast (ñì. ðaçäåë

«Ïðåîáðaçîâaíèя òèïîâ», ñ. 231);

  • bad_typeid îïåðaöèя typeid íå ìîæåò îïðåäåëèòü òèï îïåðaíäa (ñì. ñ. 238);

  • bad_exCeptiOn ïîðîæäaåòñя, åñëè ïðè âûçîâå ôóíêöèè, â ñïåöèôèêaöèè èñ- êëþ÷åíèé êîòîðîé îíî óêaçaíî, ïðîèçîøëî íåîæèäaåìîå èñêëþ÷åíèå;

380 Часть III. Стандартная библиотека



  • length_errOr ïîïûòêa ñîçäaíèя îáúåêòa, áîëüøåãî, ÷åì ìaêñèìaëüíûé ðaç- ìåð òèïa size_t;

  • dOmain_errOr íaðóøåíèå âíóòðåííèõ óñëîâèé ïåðåä âûïîëíåíèåì äåéñòâèя;

  • Out_Of_range ïîïûòêa âûçîâa ôóíêöèè ñ ïaðaìåòðîì, íå âõîäяùèì â äîïóñ- òèìûå çía÷åíèя;

  • invalid_argument ïîïûòêa âûçîâa ôóíêöèè ñ íåâåðíûì ïaðaìåòðîì;

  • range_errOr íåïðaâèëüíûé ðåçóëüòaò âûïîëíåíèя;

  • OverflOw_errOr — aðèôìåòè÷åñêîå ïåðåïîëíåíèå (ðåçóëüòaò ñëèøêîì áîëüøîé äëя óêaçaííîãî òèïa äaííûõ);

  • underflOw_errOr èñ÷åçíîâåíèå ïîðяäêa (ðåçóëüòaò ñëèøêîì ìaëåíüêèé äëя óêaçaííîãî òèïa äaííûõ).

Äëя èñïîëüçîâaíèя ýòèõ êëaññîâ íåîáõîäèìî ïîäêëþ÷èòü çaãîëîâî÷íûé ôaéë
.
Cðåäñòâa ëînaëèçaöèè âêëþ÷aþò â ñåáя óïîðяäî÷åííóþ ïî êaòåãîðèяì èíôîðìa- öèþ, ñïåöèôè÷íóþ äëя ðaçíûõ ñòðaí, íaïðèìåð, ïðåäñòaâëåíèå äaòû è âðåìåíè, ôîðìaò íaöèîíaëüíîé âaëþòû, ïðåäñòaâëåíèå ÷èñåë è ñèìâîëîâ. Êaòåãîðèè ïðåäñòaâëåíû êëaññaìè. Ïðîãðaììèñò ìîæåò èñïîëüçîâaòü èõ äëя îáåñïå÷åíèя óíèâåðñaëüíîñòè ïðîãðaììû ïðè åå ðaáîòå â ðaçëè÷íûõ ñòðaíaõ. Îïèñaíèя ñðåäñòâ ëîêaëèçaöèè íaõîäяòñя â çaãîëîâî÷íûõ ôaéëaõ è .
Äëя ðaáîòû ñ nîìïëånñíûìè ÷èñëaìè áèáëèîòåêa ïðåäîñòaâëяåò øaáëîí êëañña
COmplex, åãî ñïåöèaëèçaöèè äëя òèïîâ flOat, dOuble è lOng dOuble, a òaêæå ìíîãî-
÷èñëåííûå ôóíêöèè. Âñå ýòî áîãaòñòâî ñòaíîâèòñя äîñòóïíûì ïðè ïîäêëþ÷åíèè çaãîëîâî÷íîãî ôaéëa .
Ôóíêöèè áèáëèîòåêè îïèñaíû â ïðèëîæåíèè 6, êîíñòaíòû, ìaêðîñû è òèïû — â ïðèëîæåíèè 5, çaãîëîâî÷íûå ôaéëû — â ïðèëîæåíèè 4.

Стандартные потоки


Âûïîëíèòü çaäaíèя èç ðaçäåëa «Öèêëè÷åñêèå âû÷èñëèòåëüíûå ïðîöåññû» (ñì. óïðaæíåíèя ê ïåðâîé ÷añòè) ñ èñïîëüçîâaíèåì ñòaíäaðòíûõ ïîòîêîâ, ìaíèïóëя- òîðîâ è ôîðìaòèðóþùèõ ìåòîäîâ.


Файловые потоки


Âûïîëíèòü çaäaíèя èç ðaçäåëa «Ôóíêöèè è ôaéëû» (ñì. óïðaæíåíèя ê ïåðâîé
÷añòè) ñ èñïîëüçîâaíèåì ôaéëîâûõ ïîòîêîâ è ìåòîäîâ îáðaáîòêè îøèáîê.


Потоки и типы, определенные пользователем


Äîïîëíèòü ïðîãðaììû èç ðaçäåëa «Êëaññû» (ñì. óïðaæíåíèя êî âòîðîé ÷añòè) ïåðåãðóæåííûìè îïåðaöèяìè ââîäa/âûâîäa â ïîòîê äëя ñîçäaííûõ êëaññîâ.


Строки


Âûïîëíèòü çaäaíèя èç ðaçäåëa «Ôóíêöèè áèáëèîòåêè äëя ðaáîòû ñî ñòðîêaìè è ñèìâîëaìè» (ñì. óïðaæíåíèя ê ïåðâîé ÷añòè) ñ èñïîëüçîâaíèåì êëañña string.


Контейнерные классы


Âûïîëíèòü çaäaíèя èç ðaçäåëîâ «Îäíîìåðíûå è äâóìåðíûå ìaññèâû», «Còðóê- òóðû» è «Äèíaìè÷åñêèå ñòðóêòóðû äaííûõ» (ñì. óïðaæíåíèя ê ïåðâîé ÷añòè) ñ èñïîëüçîâaíèåì ñîîòâåòñòâóþùèõ êîíòåéíåðíûõ êëaññîâ áèáëèîòåêè.


Алгоритмы


Âûïîëíèòü çaäaíèя èç ðaçäåëa «Îäíîìåðíûå ìaññèâû» (ñì. óïðaæíåíèя ê ïåð- âîé ÷añòè) ñ èñïîëüçîâaíèåì êîíòåéíåðíûõ êëaññîâ è aëãîðèòìîâ áèáëèîòåêè.


Класс valarray


Âûïîëíèòü çaäaíèя èç ðaçäåëîâ «Îäíîìåðíûå ìaññèâû» è «Äâóìåðíûå ìaññè- âû» (ñì. óïðaæíåíèя ê ïåðâîé ÷añòè) ñ èñïîëüçîâaíèåì êëañña valarray è ñðåçîâ.

Послесловие


 ýòîé êíèãå áîëüøîå âíèìaíèå óäåëяëîñü îïèñaíèþ îñíîâ яçûêa C++. Âëaäå- íèå èìè яâëяåòñя áaçîé, íåîáõîäèìîé äëя íaïèñaíèя ïðîãðaìì. Íî ñîçäaòü ýô- ôåêòèâíóþ, ëåãêî ÷èòaåìóþ è ðañøèðяåìóþ ïðîãðaììó íåâîçìîæíî áåç çíaíèя ìåõaíèçìîâ ðåaëèçaöèè âîçìîæíîñòåé яçûêa è ñïîñîáîâ èõ âçaèìîäåéñòâèя. Êðîìå òîãî, êaê óòâåðæäaåò Cêîòò Ìaéåðñ, «ðaáîòa ía C++ ïðè ïðaâèëüíîì åãî èñïîëüçîâaíèè ñïîñîáía äîñòaâèòü óäîâîëüñòâèå». Íåïîëíîå æå ïîíèìaíèå ôóíêöèîíèðîâaíèя яçûêa, íaïðîòèâ, ïðèâîäèò ê ñîçäaíèþ ïðîãðaìì, ïîëíûõ îøèáîê è íå ïîääaþùèõñя ñîïðîâîæäåíèþ.
Ïîâåäåíèå яçûêa îïðåäåëяþò öåëè, ïîñòaâëåííûå ïðè åãî ðaçðaáîòêå. Äëя C++ îñíîâíûìè öåëяìè яâëяëèñü ýôôåêòèâíîñòü, ïðèìåíèìîñòü äëя øèðîêîãî ñïåê- òða ðåaëüíûõ çaäa÷, a òaêæå ñîâìåñòèìîñòü ñ яçûêîì C, òðaäèöèîííûìè èíñòðó- ìåíòaìè è îêðóæåíèåì.
Èñòîðèя ñîçäaíèя яçûêa è ïðè÷èíû âêëþ÷åíèя â íåãî òåõ âîçìîæíîñòåé, êîòîðû- ìè îí îáëaäaåò â íañòîяùèé ìîìåíò, ïîäðîáíî îïèñaíû â êíèãå Á. Còðaóñòðóïa
«Äèçaéí è ýâîëþöèя яçûêa C++» [18]. Èçó÷åíèå ýòîé êíèãè ïîìîæåò ïîíяòü, îò-
÷åãî ñðåäñòâa яçûêa ðåaëèçîâaíû èìåííî òaê, a íå èía÷å. Ïîëåçíûå ïðaêòè÷åñêèå ñîâåòû ïî ãðaìîòíîìó íaïèñaíèþ ýôôåêòèâíûõ ïðîãðaìì ñîäåðæaòñя â êíèãaõ [17], [13] è [9]. Äëя ïîëó÷åíèя ïîëíîé ñïðaâî÷íîé èíôîðìaöèè î яçûêå è ñòaí- äaðòíîé áèáëèîòåêå ëó÷øå âñåãî ïîëüçîâaòüñя ñòaíäaðòîì ISO/IEC 14882:1998 (åãî ïðåäâaðèòåëüíûå âaðèaíòû, ìaëî îòëè÷aþùèåñя îò îêîí÷aòåëüíîãî, ìîæíî íaéòè â Èíòåðíåòå).
Æåëaþ âñåì ÷èòaòåëяì äaëüíåéøèõ óñïåõîâ â îñâîåíèè è èñïîëüçîâaíèè C++!

  1. Àììåðaaëü Ë. STL äëя ïðîãðaììèñòîâ ía C++. — Ì.: ÄÌÊ, 2000. — 240 ñ.

  2. Áaáý Á. Ïðîñòî è яñíî î Borland C++. — Ì.: ÁÈÍÎÌ, 1995. — 400 ñ.

  3. Áaää Ò. Îáúåêòíî-îðèåíòèðîâaííîå ïðîãðaììèðîâaíèå â äåéñòâèè. — CÏá.: Ïèòåð, 1997. — 464 ñ.

  4. Áaxåíîâa È. Þ. Visual C++ 6.0. Óðîêè ïðîãðaììèðîâaíèя. — Ì.: Äèaëîã- ÌÈÔÈ, 1999. — 416 ñ.

  5. Äýâèñ C. C++ äëя «÷aéíèêîâ». — Ê.: Äèaëåêòèêa, 1996. — 304 ñ.

  6. Áðónñ Ô. Ìèôè÷åñêèé ÷åëîâåêî-ìåñяö, èëè êaê ñîçäaþòñя ïðîãðaììíûå êîì- ïëåêñû. — Ì.: «Cèìâîë-Ïëþñ», 2000. — 304 ñ.

  7. Áó÷ I. Îáúåêòíî-îðèåíòèðîâaííûé aíaëèç è ïðîåêòèðîâaíèå ñ ïðèìåðaìè ía C++.— Ì.: ÁÈÍÎÌ, 1998. — 560 ñ.

  8. Âèðò Í. Àëãîðèòìû + ñòðóêòóðû äaííûõ = ïðîãðaììû. — Ì.: Ìèð, 1985. — 406 ñ.

  9. Iîëóá À. È. C è C++. Ïðaâèëa ïðîãðaììèðîâaíèя. — Ì.: ÁÈÍÎÌ, 1996. — 272 ñ.

  10. Êaðïîâ Á., Áaðaíîâa Ò. C++: ñïåöèaëüíûé ñïðaâî÷íèê. — CÏá.: Ïèòåð, 2000. — 480 ñ.

  11. Ëañëî Ì. Âû÷èñëèòåëüíaя ãåîìåòðèя è êîìïüþòåðíaя ãðaôèêa ía C++. — Ì.: ÁÈÍÎÌ, 1997. — 304 ñ.

  12. Ëóèñ Ä. C è C++. Cïðaâî÷íèê. — Ì.: Âîñòî÷íaя êíèæíaя êîìïaíèя, 1997. — 592 ñ.

  13. Ìåñåðñ C. Ýôôåêòèâíîå èñïîëüçîâaíèå C++. — Ì.: ÄÌÊ, 2000. — 240 ñ.

  14. Ïîäáåëüñnèñ Â. Â. ßçûê Cè++: Ó÷åáíîå ïîñîáèå. — Ì.: Ôèíaíñû è ñòaòèñòè- êa, 1996. — 560 ñ.

  15. Ïîë È. Îáúåêòíî-îðèåíòèðîâaííîå ïðîãðaììèðîâaíèå ñ èñïîëüçîâaíèåì C++. — Ê.: ÄèaCîôò, 1995. — 480 ñ.

  16. Ðîìaíîâñnaя Ë. Ì. è äð. Ïðîãðaììèðîâaíèå â ñðåäå Cè äëя ÏÝÂÌ ÅC. — Ì.: Ôèíaíñû è ñòaòèñòèêa, 1992. — 352 ñ.

  17. Còðaóñòðóï Á. ßçûê ïðîãðaììèðîâaíèя C++. — CÏá.: ÁÈÍÎÌ, 1999. — 991 ñ.

  18. Còðaóñòðóï Á. Äèçaéí è ýâîëþöèя яçûêa C++. — Ì.: ÄÌÊ, 2000. — 448 ñ.

  19. Øèëäò I. Òåîðèя è ïðaêòèêa C++. — CÏá.: BHV, 1996. — 416 ñ.

  20. Íåôîðìaëüíîå ââåäåíèå â C++ è Turbo Vision. — Ãaëåðåя «Ïåòðîïîëü», 1992. — 381 ñ.


Download 2 Mb.

Do'stlaringiz bilan baham:
1   ...   217   218   219   220   221   222   223   224   ...   232




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish