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



Download 2 Mb.
bet190/232
Sana29.03.2022
Hajmi2 Mb.
#516205
TuriЗадача
1   ...   186   187   188   189   190   191   192   193   ...   232
Bog'liq
Т. А. Павловская C C . Программирование на языке высокого уровня

Èòåðaòîð âûõîäíîãî ïîòîna çaïèñûâaåò ñ ïîìîùüþ îïåðaöèè << ýëåìåíòû â âû- õîäíîé ïîòîê, äëя êîòîðîãî îí áûë ñêîíñòðóèðîâaí. Åñëè âòîðûì aðãóìåíòîì êîíñòðóêòîða áûëa ñòðîêa ñèìâîëîâ, îía âûâîäèòñя ïîñëå êaæäîãî âûâîäèìîãî çía÷åíèя:
Ostream_iteratOr Os(COut, " êã");
*Os = 100; // Áóäåò âûâåäåíî: 100 êã
++Os; *Os = 2; // Áóäåò âûâåäåíî: 2 êã
Ðaññìîòðèì ðåaëèçaöèþ îïåðaöèè ïðèñâaèâaíèя:
Ostream_iteratOr& OperatOr=(COnst T& value){
*Out_stream << value;
if(delim != 0) *Out_stream << delim; return (*this);
}
Çäåñü Out_stream — ññûëêa ía âûõîäíîé ïîòîê, çaäaííûé ïåðâûì ïaðaìåòðîì êîí- ñòðóêòîða èòåðaòîða, delim — ñòðîêa, óêaçaííaя âî âòîðîì ïaðaìåòðå êîíñòðóêòîða.
Ïðèìåð ïðèìåíåíèя ïîòîêîâûõ èòåðaòîðîâ âìåñòå ñ aëãîðèòìaìè áèáëèîòåêè ïðèâåäåí ía ñ. 350.


Функциональные объекты


Ôóíêöèîíaëüíûì îáúåêòîì íaçûâaåòñя êëaññ, â êîòîðîì îïðåäåëåía îïåðaöèя âûçîâa ôóíêöèè (ñì. ñ. 195). Ìû óæå âñòðå÷aëèñü ñ ôóíêöèîíaëüíûìè îáúåêòa- ìè ïðè ðaññìîòðåíèè î÷åðåäåé ñ ïðèîðèòåòaìè (ñ. 313). ×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ê âñòðîåííóþ.
Còaíäaðòíaя áèáëèîòåêa ïðåäîñòaâëяåò ìíîæåñòâî ôóíêöèîíaëüíûõ îáúåêòîâ, íåîáõîäèìûõ äëя åå ýôôåêòèâíîãî èñïîëüçîâaíèя è ðañøèðåíèя. Îíè îïèñaíû â çaãîëîâî÷íîì ôaéëå . Cðåäè ýòèõ îáúåêòîâ ìîæíî âûäåëèòü îáúåêòû, âîçâðaùaþùèå çía÷åíèя òèïa bOOl. Òaêèå îáúåêòû íaçûâaþòñя ïðåäènaòaìè. Ïðåäèêaòîì íaçûâaåòñя òaêæå è îáû÷íaя ôóíêöèя, âîçâðaùaþùaя bOOl.
 êa÷åñòâå áaçîâûõ nëaññîâ, êîòîðûå ââîäяò ñòaíäaðòíûå èìåía äëя òèïîâ aðãó- ìåíòîâ, â áèáëèîòåêå îïðåäåëåíû øaáëîíû óíaðíîé è áèíaðíîé ôóínöèè:
template struCt unary_funCtiOn{
typedef Arg argument_type; typedef Result result_type;
};

template struCt binary_funCtiOn{


typedef Arg1 first_argument_type; typedef Arg2 seCOnd_argument_type; typedef Result result_type;
};
Ôóíêöèîíaëüíûå îáúåêòû áèáëèîòåêè яâëяþòñя ïîòîìêaìè ýòèõ áaçîâûõ îáúåê- òîâ-ôóíêöèé. Îïðåäåëåíèå ñòaíäaðòíûõ èìåí òèïîâ äëя aðãóìåíòîâ è ðåçóëüòa- òa íåîáõîäèìî äëя òîãî, ÷òîáû ôóíêöèîíaëüíûå îáúåêòû ìîæíî áûëî èñïîëüçî- âaòü ñîâìåñòíî ñ aäaïòåðaìè è äðóãèìè ñðåäñòâaìè áèáëèîòåêè.
Àäaïòåðîì ôóínöèè íaçûâaþò ôóíêöèþ, êîòîðaя ïîëó÷aåò â êa÷åñòâå aðãóìåíòa ôóíêöèþ è êîíñòðóèðóåò èç íåå äðóãóþ ôóíêöèþ. Ía ìåñòå ôóíêöèè ìîæåò áûòü òaêæå ôóíêöèîíaëüíûé îáúåêò.
Cò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õ.

Cèíòaêñèñ è ïðèìåíåíèå ïåðå÷èñëåííûõ aäaïòåðîâ ðaññìaòðèâaþòñя â ñëåäóþ- ùèõ ðaçäåëaõ.



Download 2 Mb.

Do'stlaringiz bilan baham:
1   ...   186   187   188   189   190   191   192   193   ...   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