Dasturlash usullarining afzalliklari va kamchiliklari


Download 13.53 Kb.
bet5/6
Sana24.12.2022
Hajmi13.53 Kb.
#1062878
1   2   3   4   5   6
Bog'liq
Dasturlash usullarining afzalliklari va kamchiliklari-fayllar.org

Bir xil nomdagi funksiyalarni har xil toifali o’zgaruvchilar ro’yxati bilan murojaat qilib chaqirish mumkin. Parametrlar soni ham har xil bo’lishi mumkin. Bunday holatda parametrlar ro’yxati va qiymatlarga qarab kompilyator o’zi qaysi funksiyani chaqirish kerakligini aniqlaydi [1]. Masalan:


  • Bir xil nomdagi funksiyalarni har xil toifali o’zgaruvchilar ro’yxati bilan murojaat qilib chaqirish mumkin. Parametrlar soni ham har xil bo’lishi mumkin. Bunday holatda parametrlar ro’yxati va qiymatlarga qarab kompilyator o’zi qaysi funksiyani chaqirish kerakligini aniqlaydi [1]. Masalan:

  • 1. double multi (float x)

  • {return x*x*x; }

  • 2. double multi (float x, float y)

  • { return x*y*y; }

  • 3. double multi (float x, float y, float z)

  • { return x*y*z; }

  • va quyidagi murojaatlarning hammasi to’g’ri yozilgan:

  • multi (0.5);

  • multi (1.45, 7);

  • multi (10, 39, 54);

Funksiyalarning bir xil nom bilan atalishi polimorfizm deb ataladi. Poli – ko’p, morfe – shakl degan ma’noni bildiradi.


  • Funksiyalarning bir xil nom bilan atalishi polimorfizm deb ataladi. Poli – ko’p, morfe – shakl degan ma’noni bildiradi.

  • Masalan:

  • # include

  • int max (int a, int b)

  • { if (a>b) return a; else return b;}

  • float max (float a, float b)

  • { if (a>b) return a; else return b;}

  • int main ( )

  • {

  • int a1, b1; float a2, b2;

  • cin >> a1>>b1;

  • cout << “butun max=”<

  • cin >>a2>>b2;

  • cout << “haqiqiy max=”<< max(a2, b2)<

  • }

1-misol. B va C vektorlarining uzunliklarini hisoblash dasturini tuzing. Vektor uzunligini hisoblash uchun funksiyadan foydalaning.


  • 1-misol. B va C vektorlarining uzunliklarini hisoblash dasturini tuzing. Vektor uzunligini hisoblash uchun funksiyadan foydalaning.

  • # include < iostream. h>

  • float vector (int d[ ], int k)

  • { float s=0; int i ;

  • for (i=0; i

  • s = s + d[i] * d[i];

  • s = sqrt (s);

  • return s; }

  • int main ( )

  • {

  • int b[3] = {10,20,30}, c[4] = {14,15,16,17};

  • float s1, s2;

  • s1 = vector (b, 3);

  • s2 = vector (c, 4);

  • cout <<”s1=” << s1 <<” s2=” << s2 << endl;

  • }

Download 13.53 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




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