2. Indeksatorlarni qayta yuklash. Indeksatorlarni qayta yuklash.
Indeksator qayta yuklangan bo`lishi mumkin. Bunday holda, indeksni tanlash uchun, uning parametri va indeks sifatida ko'rsatilgan argumentning mosligi aniqroq kuzatiladi.
Quyidagi dasturda FailSoftArray sinfining qayta yuklangan massiv indeksatori uchun double tipida aniqlangan indeks misol keltirilgan. Bu holda, double tipli indekslovchi indeksini eng yaqin butun qiymatga aylantiradi.
// FailSoftArray sinfining massiv indeksatorini qayta yuklash.
using System;
class FailSoftArray {
int[] a; // asosiy massivga havola
public int Length; // massivning ochiq uzunlik o'zgaruvchisi
public bool ErrFlag; // oxirgi operatsiya natijasini bildiradi
// Berilgan o`lchamda massiv yaratish.
public FailSoftArray(int size) {
a = new int[size];
Length = size;
}
// FailSoftArray sinfidagi massiv uchun int tipidagi indeksator.
public int this[int index] {
// get aksessori
get {
if(ok(index)) {
ErrFlag = false;
return a[index];
} else {
ErrFlag = true;
return 0;
}
}
// set aksessori.
set {
if(ok(index)) {
a[index] = value;
ErrFlag = false;
}
else ErrFlag = true;
}
}
/* FailSoftArray sinfidagi massiv uchun yana bir indeksator.
U o'zining argumentini eng yaqin butun indeksga aylantiradi. */
Do'stlaringiz bilan baham: |