• { complex c; re += b.re; im += b.im; c.re=re; c.im=im; return c; } inline complex complex::operator+=(double x)
  • sinf obyekti a’zosiga murojaat;  .*




    Download 5,48 Mb.
    Pdf ko'rish
    bet28/53
    Sana21.11.2023
    Hajmi5,48 Mb.
    #102807
    1   ...   24   25   26   27   28   29   30   31   ...   53
    Bog'liq
    Texnologiyalari va kommunikatsiyalarni rivojlantirish vazirligi

    sinf obyekti a’zosiga murojaat; 
    .* ko’rsatkich orqali murojaat; 
    ?: shartli amal; 
    :: ko’rinish soxasini ko’rsatuvchi amal; 
    sizeof xajmni xisoblash amali; 
     preprotsessor amali. 
    Binar amallarni qo’shimcha yuklash 
    Ixtiyoriy 

    binar amali ikkita usulda tavsiflanish mumkin: yoki bitta parametrli 
    funksiya komponentasi sifatida, yoki ikkita parametrli global (do’stona bo’lishi 
    mumkin) funksiya sifatida.
    Birinchi xolatda x

    y ifoda x.operator

    (y), ikkinchi xolda esa operator 

    (x,y) 
    chaqirilishini bildiradi.
    Aniq sinf doirasida qayta yuklangan operatsiyalar faqat parametrli nostatik 
    komponentli funksiya orqali qayta yuklanadi. Sinfdagi chaqiriladigan obyekt 
    avtomatik ravishda birinchi operand sifatida qabul qilinadi. 
    Misol: 
    class complex

     double re, im; 
     public: 
     complex(double r, double i) { re=r; im=i; } 


    50 
     complex operator+(complex); 
     complex operator+(double); 
    complex& operator+=(complex); 
    complex& operator+=(double x); 
    }; 
    inline complex operator+(complex b) //complex+complex 
    { complex c; c.re=re+b.re; c.im=im+b.im; return c;}
    inline complex operator+( double x) //complex+double 
    { return complex(re+x, im);}
    inline complex& complex::operator+=(complex b) //complex+=complex 
     { complex c; re += b.re; im += b.im; c.re=re; c.im=im; return c; } 
    inline complex& complex::operator+=(double x) //complex+=double 
    {re += x; return *this; } 
    Shuni ta’kidlab o’tish kerakki double+complex tipidagi qo’shishni bu usulda 
    qo’shimcha yuklash mumkin emas. 
    Sinfdan tashqari yuklanadigan operatsiyalar ikkita operandga ega bo’lishi kerak. 
    Ulardan biri sinf tipiga ega bo’lishi lozim. 
    Qiymat qaytarish uchun vaqtinchalik o’zgaruvchidan foydalaniladi. Bu 
    maqsadda konstruktordan: 

    Download 5,48 Mb.
    1   ...   24   25   26   27   28   29   30   31   ...   53




    Download 5,48 Mb.
    Pdf ko'rish