Vill c++ kisHF

Órai feladat

A kivételkezeléssel ismerkedtünk meg, a 12. aut-os konzerv alapján. Kövessük a megjegyzések útmutatását, és értsük meg a működést!

Figyelem a kiadott anyagtól eltérően, az üres throw specifier throw() azt jelenti, hogy a kérdéses függvény semmilyen kivételt nem dobhat.

Íme a kivételek ősosztálya:
class exception {
public:
  exception () throw();
  exception (const exception&) throw();
  exception& operator= (const exception&) throw();
  virtual ~exception() throw();
  virtual const char* what() const throw();
}
Ennek megfelelően a leszármazott saját kivételosztályban sem dobhat kivételt sem dtor, sem what(). (Ezt azonban nem ellenőrzi a compiler...)

Igen sok "gyári" kivételosztály létezik a szabványos könyvtárban, használjuk bátran azokat.(Használatukhoz az stdexcept headert kell include-olni.)

9. Házi feladat.

Jövő héten kisZH lesz.
Vegyük elő az 5. heti racionális osztályunkat. (Ha nincs ilyenünk, esetleg megfelelő az órán elkészített komplex is.)
Készítsünk intelligens dinamikus tömböt, melynek elemei racionális számok legyenek. Írjunk saját kivételosztályt (tomb_hiba) az exception osztályból származtatva. Legyen ErrCode, Reason és what(). A hibás tömbműveleteket kivételekkel kezeljük. (Maga a tömb, és kezelése nagyon hasonló a stringhez vagy a stackhez.)


Beadandó a felhasznált Rac osztály, és a fentiek szerint elkészített 3 forrásfile egy zip-ben.