Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <conio.h>
- #include <string>
- using namespace std;
- class Blad // Tworzymy klase bledu
- {
- private:
- string error; // Posiada pole w której bêdzie treœæ b³êdu
- public:
- Blad(const string error) // Konstruktor, inicjalizujemy tutaj treœæ b³êdu
- {
- this->error=error;
- }
- string Error()const{return error;} // Getter, który zwraca treœæ b³êdu
- };
- class Dane
- {
- private:
- string imie;
- string nazwisko;
- int wiek;
- public:
- Dane(const string imie, const string nazwisko, const int wiek)
- {
- if(imie=="")
- {
- throw Blad("Imie jest puste"); // Jeœli imiê bêdzie puste to wyrzuci wyj¹tek o treœci "Imie jest puste"
- }else
- this->imie=imie;
- if(nazwisko=="")
- {
- throw Blad("nazwisko jest puste"); // Jeœli nazwisko puste to znów wyrzuci wyj¹tek
- }else
- this->nazwisko=nazwisko;
- if(wiek<=0)
- {
- throw Blad("Wiek jest bledny"); // Wypluje wyj¹tek jak wiek bêdzie mniejszy od zera.
- }else
- this->wiek=wiek;
- }
- string Imie() const {return imie;}
- string Nazwisko() const {return nazwisko;}
- int Wiek() const {return wiek;}
- };
- int main()
- {
- try // Musisz napisaæ try {} i w tych klamrach instrukcje, które wyrzucaj¹ wyj¹tki
- {
- Dane a("Andrzej", "Kowalski", 10); // Poprawny obiekt stworzony
- printf("%s %s lat %d\n\n\n\n",a.Imie().c_str(), a.Nazwisko().c_str(), a.Wiek()); // c_str() pozwala Ci wypisywaæ stringi w printfie :D <taki tip>
- Dane b("a","a",-10); // Tutaj pozmieniaj na ró¿ne wartoœæ by zobaczyæ jak pluj¹ siê wyj¹tki :D
- }
- catch (Blad wyjatek) // Po try musi byæ catch. W nawiasie wpisujesz nazwê klasy i jak¹œ nazwê danego obiektu
- {
- printf("%s",wyjatek.Error().c_str()); // Wywolanie gettera z klasy Bledu dla obiektu stworzonego w catchu. I znów c_str(), bo wyœwietlam stringa
- }
- _getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement