O. X. Azamatov


 Chiqarish operatorini qo‘shimcha yuklash


Download 1.82 Mb.
Pdf ko'rish
bet86/119
Sana09.01.2022
Hajmi1.82 Mb.
#256439
1   ...   82   83   84   85   86   87   88   89   ...   119
Bog'liq
3072-Текст статьи-7829-1-10-20200908

11.6. Chiqarish operatorini qo‘shimcha yuklash 
Chiqarish  operatori ostream.  sinfi  obyektiga  ilova  qaytaruvchi  binar  operatordir. 
Umumiy holda qo‘shimcha yuklangan chiqarish operatori ta’rifi quyidagi ko‘rinishga 
ega: 
ostream& 


96 
 
operator <<( ostream& os, const ClassType &object ) 

// obyektni tayyorlash uchun kod 
// a’zolar xaqiqiy soni 
os << // ... 
// ostream obyekti qaytariladi 
return os; 

Bu  ta’rif  birinchi  argumenti  ostream  obyektiga  ilova  ikkinchisi  odatda  konstant 
biror sinf obyektiga ilova. Qaytariluvchi qiymat ostream obyektiga ilova. 
Birinchi  argument  ilova  bo‘lgani  uchun,  chiqarish  operatori  sinf  a’zosi  sifatida 
emas oddiy funksiya sifatida ta’riflanishi zarur. Agar funksiya yopiq sinf a’zolariga 
murojaat qilishi zarur bo‘lsa do‘stona deb e’lon qilinishi zarur.  
1. Chiqarish operatorini qo‘shimcha yuklash  
class WordCount { 
    friend ostream& 
           operator<<( ostream&, const WordCount& ); 
public: 
    WordCount( string word, int cnt=1 ); 
    // ... 
private: 
    string word
    int occurs
}; 
ostream& operator <<( ostream& os, const WordCount& wd ) 
{    // format:  so‘z 
     os << "< " << " > " > " 
        << wd.word; 
     return os
     } 


97 
 
2. Yuklangan chiqarish operatoriga ega bo‘lgan sinfdan foydalanish.  
#include  
#include "WordCount.h" 
int main() 
{   WordCount wd( "sadness", 12 ); 
   cout << "wd:\n" << wd << endl; 
   return 0;} 
Qo‘shimcha  yuklangan  chiqarish  operatorini  ofstream  sinfi  obyektlariga  ham 
qo‘llash mumkin. Quyidagi misolda WordCount sinfi chiqarish operatori chaqiriladi: 
#include  
#include "WordCount.h" 
int main() 
{    ofstream oFile( "word.out" ); 
    WordCount artist( "Renoir",12); 
    oFile << artist;} 

Download 1.82 Mb.

Do'stlaringiz bilan baham:
1   ...   82   83   84   85   86   87   88   89   ...   119




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