• // Bunda swapargs() funksiyasi faqatgina int tipi uchun ishlaydi.
  • Funksiyalarni yaratish va ulardan foydalanish. Reja




    Download 124,09 Kb.
    bet2/7
    Sana18.01.2024
    Hajmi124,09 Kb.
    #140451
    1   2   3   4   5   6   7
    Bog'liq
    Funksiyalarni yaratish va ulardan foydalanish



    #include using namespace std;
    // Funksiya shabloni e’lon qilinishi...
    template
    void swapargs(X &a, X &b)
    {
    X temp; temp = a; a = b;
    Funksiya shabloniga misol



    b = temp;
    }
    int main()
    {
    int i=10, j=20;
    double x=10.1, y=23.3; char a='x', b='z';
    cout << "Original i, j: " << i << ' ' << j << '\n'; cout << "Original x, y: " << x << ' ' << y << '\n'; cout << "Original a, b: " << a << ' ' << b << '\n';
    swapargs(i, j); // swap funksiyasi butun toifa uchun (int) swapargs(x, y); // swap funksiyasi haqiqiy toifa uchun (float) swapargs(a, b); // swap funksiyasi simvol toifa uchun (char) cout << "Swapped i, j: " << i << ' ' << j << '\n';
    cout << "Swapped x, y: " << x << ' ' << y << '\n'; cout << "Swapped a, b: " << a << ' ' << b << '\n';

    return 0;


    }

    Umumiy funksiyaning boshqacha ko’rinishi


    Quyidagi misolda swapargs( ) funksiyasi boshqacharoq ko’rinishda e’lon qilingan. Ya’ni shablon birinchi satrda funksiya esa alohida satrda joylashgan.

    template
    void swapargs(X &a, X &b)
    {
    X temp; temp = a; a = b;
    b = temp;
    }

    Lekin bu ko’rinishda birinchi va ikkinchi satr o’rniga bironta kod yozilsa xatolik beradi



    template int c // ERROR
    void swapargs(X &a, X &b)
    {
    X temp; temp = a;


    a = b;
    b = temp;
    }



    template
    void swapargs(X &a, X &b)
    {
    X temp; temp = a; a = b;
    b = temp;
    cout << "swapargs funksiya shabloni chaqirildi.\n";
    }
    // Bunda swapargs() funksiyasi faqatgina int tipi uchun ishlaydi.
    void swapargs(int &a, int &b)
    {
    int temp; temp = a; a = b;
    b = temp;
    cout << " int tipi uchun maxsus swapargs funksiyasi.\n";
    }
    int main()
    {
    int i=10, j=20;
    double x=10.1, y=23.3; char a='x', b='z';
    cout << "Original i, j: " << i << ' ' << j << '\n'; cout << "Original x, y: " << x << ' ' << y << '\n'; cout << "Original a, b: " << a << ' ' << b << '\n';
    swapargs(i, j); // calls explicitly overloaded swapargs()
    swapargs(x, y); // calls generic swapargs() swapargs(a, b); // calls generic swapargs() cout << "Swapped i, j: " << i << ' ' << j << '\n';
    cout << "Swapped x, y: " << x << ' ' << y << '\n'; cout << "Swapped a, b: " << a << ' ' << b << '\n'; return 0;
    }
    Funksiya shablonini override (qayta yozish) qilish.


    Dastur natijasi:






    Download 124,09 Kb.
    1   2   3   4   5   6   7




    Download 124,09 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Funksiyalarni yaratish va ulardan foydalanish. Reja

    Download 124,09 Kb.