O. X. Azamatov
Chiqarish operatorini qo‘shimcha yuklash
Download 1.82 Mb. Pdf ko'rish
|
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: 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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling