Алматы экономика және статистика академиясы



жүктеу 5,39 Kb.
Pdf просмотр
бет12/28
Дата22.02.2018
өлшемі5,39 Kb.
#10536
1   ...   8   9   10   11   12   13   14   15   ...   28

38 
 
 
string (const char *, int n); 
 
 string ( 
 string &); 
Бірінші конструктор string типті бос объект құрады. Екінші конструктор  ескі 
стильдегі тіркестер негізіндегі string типті объект құрады, ал үшіншісі string типті 
объект құрады да, бірінші параметрде кӛрсетілген тіркестен n символды алып осыған 
жазады. Тӛртінші конструктор кӛшіру конструкторы болып табылады, ол параметр 
ретінде берілген объектінің кӛшірмесі арқылы жаңа объектіні құрады. 
string класында үш меншіктеу опера-циясы  анықталған: 
 
string&operator= (const string&str); 
 
string&operator= (const char*s); 
 
string&operator= (char c); 
Мұнан бір тіркеске string типтегі басқа тіркесті немесе жеке символды да  меншік-
теуге болатыны кӛрініп тұр. Мысалы:  
string s1; 
string s2(―Azat‖); 
string s3(s2); 
s1=‗X‘; 
s1=―Azat‖; 
s2=s3; 
string класының функциялары: тіркестің бӛлі-гін қосу және меншіктеу, тіркестерді 
түрлендіру, ішкі тіркесті іздеу, тіркес бӛліктерін салыстыру. 
Тіркес элементін анықтау үшін бұрынғы ин-декстеу операциясы қолданылады 
және at функциясы анықталған. Мысалы: 
string s(―Azat‖); 
cout << s.at(1); 
Егер индекс тіркес ұзындығынан артып кет-се, онда out_of_range аластау 
(исключение) оқи-ғасы туындайды. 
8. Тіркес бӛлігін қосу және меншіктеу 
Бір тіркестің ішкі бӛлігін екінші бір тіркеске меншіктеу үшін assign функциясы 
қолданылады: 
assign (const string &str); 
assign (const string &str, size_type pos size_type n); 
assign (const char *s, size_type n); 
   Алғашқы форма str тіркесін оны шақырған тір-кеске меншіктейді, бұл функция  
әрекеті меншік-теу операциясына эквивалентті болып саналады. Мысалы: 
string s1(―Azat‖), s2 
s2.assign (s1); // бұл s2=s1 дегенмен бірдей  
Жоғарыдағы функциялардың екінші форма-сы  шақырушы тіркеске str тіркесінің 
pos по-зициясынан басталған n символдардан тұра-тын бӛлігін меншіктейді. Егер pos+n 
мәні тіркес ұзындығынан артық болса, онда str тіркесі толық меншіктеледі.  
Фунциялардың үшінші формасы шақырушы тіркеске s тірке-сінің n символын 
меншіктейді.  
Мысалы: 
string s1(―telefon‖), s2(―olar‖); 
s1.assign (s2); // нәтижесі: s1=s2=olar 
s1.assign (s2, 1, 3); // нәтижесі: lar 
     Бір тіркестің бӛлігін екінші тіркеске қосып біріктіру үшін  append  функциясы 
қолданылады: 
append (const string&str); 
append(const string&str, size_type pos, size_type n); 
append (const char*s, size_type n); 


39 
 
Бірінші форма str тіркесін шақырушы тіркестің соңына қосады, оның әрекеті 
конкатенация ама-лына (біріктіруге) ұқсас болып келеді. Екінші форма шақырушы 
тіркеске pos позициясынан басталған str тіркесі бӛлігін меншіктейді. Мысалы: 
string s1(―fon‖), s2(―dar‖); 
s1.append (s2); // нәтижесі: fondar 
s1.append (s2, 1, 2); // нәтижесі: fonar    
9. Тіркестерді тҥрлендіру 
Бір тіркес бӛлігін екінші тіркеске кірістіріп қою (вставка) үшін insert  функциясы 
қолданылады: 
 insert (size_type pos1, const string &str); 
 insert (size_type pos1, const string &str, size_type   
             pos2, size_type n); 
insert (size_type pos, const char *s, size_type n); 
Бірінші  форма  str  тіркесін  оны  шақырған  тір-кеске  pos1  позициясынан  бастап 
кірістіріп  орна-ластырады  да,  одан  кейін  шақырған  тіркестің  қалған  символдары 
жалғасады.  Егер  pos1  тіркес  ұзындығынан  артық  болса,  онда  out_of_range  оқиғасы 
орын алады.  
Екінші  формада    оны  шақырған  тіркестің  pos1  позициясы  сақталады,  сонан  соң 
оның  pos2  позициясынан  бастап  str  тіркесінің  n  символы  кірістіріледі  де,  одан  кейін 
шақырған тіркестің қалған символдары жалғасады. 
Функцияның  үшінші  формасында  оны  шақырған  тіркестің  pos1  позициясынан 
бастап бұрынғы типтегі s тіркесінің n элементін кірістіріп орналастырады. 
Тіркестің ішкі бӛлігін жою үшін erase функциясы қолданылады: 
       erase (size_type pos=0, size_type n=npos); 
Ол  шақырылған  тіркестің  pos  позициясынан  бастап  n  элементін  жояды.  Егер 
позиция кӛрсе-тілмесе, онда ол тіркес басынан жойылады. 
Бүкіл тіркесті тазалау қызметін  clear  функ-циясы атқарады: 
 void clear(); 
 Тіркестің  белгілі  бір  бӛлігін  ауыстыру  (замена)  үшін  replace  функциясы 
қолданылады: 
replace (size_type pos1, size_type n1, const  
              string &str); 
replace (size_type pos1, size_type n1, const  
              string &str, size_type pos2, size_type n2); 
мұндағы  pos1  –  шақырушы  тіркестің  ауыстыру  басталатын  позициясы,  n1  – 
жойылатын  элемент-тер  саны,  pos2  –  str  тіркесінің  оны  шақырған  тір-кеске 
кірістірілетін позициясы нӛмірі, n2 – str тіркесінің кірістірілетін элементтері саны.  
Функцияның үшінші формасы шақырушы тіркестің n1 символын ескі стильдегі s 
тіркесінің n2 символына ауыстырады: 
replace (size_type pos1, size_type n1, const char *s, size_type n2); 
     Екі тіркесті бір-бірімен алмастыру үшін swap функциясы қолданылады: 
swap (string &s); 
Тіркестің  белгілі  бір  бӛлігін  бӛліп  алу  (выде-ления)  үшін  substr  функциясы 
қолданылады: 
string substr (size_type pos=0, size_type n=npos) const; 
Бұл  функция  шақырылатын  тіркестің  ұзынды-ғы  n  болатын  ішкі  бӛлігін  pos 
позициясынан  бастап  қайтарады.  Егер  pos    тіркес  ұзындығы-нан  артық  болса,  онда 
out_of_range оқиғасы туындайды.  
    string  типті  объектілерді  ескі  стильдегі  тіркеске  түрлендіру  үшін  c_str 
функциясы қолданылады:   
const char*c_str() const;     
Енді жоғарыдағы функцияларды қолдануға арналған мысалдар келтірейік.  


жүктеу 5,39 Kb.

Достарыңызбен бөлісу:
1   ...   8   9   10   11   12   13   14   15   ...   28




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау