O. X. Azamatov


 Istisno xolatlar va sinflar



Yüklə 1,82 Mb.
Pdf görüntüsü
səhifə92/119
tarix31.12.2021
ölçüsü1,82 Mb.
#49500
1   ...   88   89   90   91   92   93   94   95   ...   119
3072-Текст статьи-7829-1-10-20200908

12.6. Istisno xolatlar va sinflar 
Sinf  yaratishda  shu  sinfga  tegishli  istisno  xolatlarni  aniqlash  mumkin.  Aniq 
sinfga  tegishli  istisno  xolatni  yaratish  uchun  ushbu  istisno  xolatni  sinfning  umumiy 
(public) elementlari sifatida kiritish zarur.  
Masalan diapazon chegarasidan chiquvchi indeks qiymatini bilish zarur bo‘lsin: 
class Vector { 
   // ... 
public: 
   class Range { 
   public: 
     int index
     Range(int i) : index(i) { } 
  }; 
  // ... 
  int& operator[](int i) 
  // ... 
           }; 
          int Vector::operator[](int i) 
           { 
 if (o<=i && i  throw Range(i); 
           } 
     Mumkin bo‘lmagan indeks qiymatini bilish uchun istisno xolatni tasvirlovchi 
obyektga nom berish kerak: 
void  f(Vector& v) 


103 
 

     // ... 
   try { 
     do_something(v); 
       } 
      catch (Vector::Range r ) { 
      cerr << "mumkin bo‘lmagan indeks" << r.index << '\n'; 
      // ... 
   } 
   // ... 
 } 
   Qavsdagi konstruksiya tavsif bo‘lib funksiya formal parametriga mosdir. Unda 
parametr tipi va yuzag kelgn istisno nomi berilishi mumkin. 

Yüklə 1,82 Mb.

Dostları ilə paylaş:
1   ...   88   89   90   91   92   93   94   95   ...   119




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin