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


Конструкторы и присваивание строк



Download 2 Mb.
bet166/232
Sana29.03.2022
Hajmi2 Mb.
#516205
TuriЗадача
1   ...   162   163   164   165   166   167   168   169   ...   232
Bog'liq
Т. А. Павловская C C . Программирование на языке высокого уровня

Конструкторы и присваивание строк


 êëaññå string îïðåäåëåíî íåñêîëüêî nîíñòðónòîðîâ. Íèæå â óïðîùåííîì âèäå ïðèâåäåíû çaãîëîâêè íaèáîëåå óïîòðåáèòåëüíûõ:
string(); string(COnst Char *);
string(COnst Char *, int n); string(string &);
Ïåðâûé êîíñòðóêòîð ñîçäaåò ïóñòîé îáúåêò òèïa string. Âòîðîé ñîçäaåò îáúåêò òèïa string ía îñíîâå ñòðîêè ñòaðîãî ñòèëя, òðåòèé ñîçäaåò îáúåêò òèïa string è çaïèñûâaåò òóäa n ñèìâîëîâ èç ñòðîêè, óêaçaííîé ïåðâûì ïaðaìåòðîì. Ïîñëåä- íèé êîíñòðóêòîð яâëяåòñя êîíñòðóêòîðîì êîïèðîâaíèя, êîòîðûé ñîçäaåò íîâûé îáúåêò êaê êîïèþ îáúåêòa, ïåðåäaííîãî åìó â êa÷åñòâå ïaðaìåòða.
 êëaññå string îïðåäåëåíû òðè îïåðaöèè ïðèñâaèâaíèя:
string& OperatOr=(COnst string& str); string& OperatOr=(COnst Char* s); string& OperatOr=(Char C);
Êaê âèäíî èç çaãîëîâêîâ, ñòðîêå ìîæíî ïðèñâaèâaòü äðóãóþ ñòðîêó òèïa string, ñòðîêó ñòaðîãî ñòèëя èëè îòäåëüíûé ñèìâîë, íaïðèìåð:
string s1;
string s2("Âañя"); string s3(s2);
s1 = 'X';
s1 = "Âañя"; s2 = s3;


Операции


Íèæå ïðèâåäåíû äîïóñòèìûå äëя îáúåêòîâ êëañña string îïåðaöèè:


Операция

Действие

Операция

Действие

=

ïðèñâ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 string íå ñîáëþäaåòñя ñîîòâåòñòâèå ìåæäó aä- ðåñîì ïåðâîãî ýëåìåíòa ñòðîêè è èìåíåì, êaê ýòî áûëî â ñëó÷aå ñòðîê ñòaðîãî ñòèëя, òî åñòü &s[0] íå ðaâíî s.
Êðîìå îïåðaöèè èíäåêñaöèè, äëя äîñòóïa ê ýëåìåíòó ñòðîêè îïðåäåëåía ôóíê- öèя at:
string s("Âañя");
COut << s.at(1); // Áóäåò âûâåäåí ñèìâîë a
Åñëè èíäåêñ ïðåâûøaåò äëèíó ñòðîêè, ïîðîæäaåòñя èñêëþ÷åíèå Out_Of_range. Äëя ðaáîòû ñî ñòðîêaìè öåëèêîì ýòèõ îïåðaöèé äîñòaòî÷íî, a äëя îáðaáîòêè
÷añòåé ñòðîê (íaïðèìåð, ïîèñêa ïîäñòðîêè, âñòaâêè â ñòðîêó, óäaëåíèя ñèìâî- ëîâ) â êëaññå string îïðåäåëåíî ìíîæåñòâî ðaçíîîáðaçíûõ ìåòîäîâ (ôóíêöèé), íaèáîëåå óïîòðåáèòåëüíûå èç êîòîðûõ ðaññìaòðèâaþòñя â ñëåäóþùåì ðaçäåëå.



Download 2 Mb.

Do'stlaringiz bilan baham:
1   ...   162   163   164   165   166   167   168   169   ...   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