Advertisement
Guest User

Untitled

a guest
Jun 2nd, 2015
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <string>
  4. using namespace std;
  5.  
  6. class Blad // Tworzymy klase bledu
  7. {
  8. private:
  9. string error; // Posiada pole w której bêdzie treœæ b³êdu
  10.  
  11. public:
  12. Blad(const string error) // Konstruktor, inicjalizujemy tutaj treœæ b³êdu
  13. {
  14. this->error=error;
  15. }
  16. string Error()const{return error;} // Getter, który zwraca treœæ b³êdu
  17. };
  18.  
  19. class Dane
  20. {
  21. private:
  22. string imie;
  23. string nazwisko;
  24. int wiek;
  25.  
  26. public:
  27. Dane(const string imie, const string nazwisko, const int wiek)
  28. {
  29. if(imie=="")
  30. {
  31. throw Blad("Imie jest puste"); // Jeœli imiê bêdzie puste to wyrzuci wyj¹tek o treœci "Imie jest puste"
  32. }else
  33. this->imie=imie;
  34.  
  35. if(nazwisko=="")
  36. {
  37. throw Blad("nazwisko jest puste"); // Jeœli nazwisko puste to znów wyrzuci wyj¹tek
  38. }else
  39. this->nazwisko=nazwisko;
  40.  
  41. if(wiek<=0)
  42. {
  43. throw Blad("Wiek jest bledny"); // Wypluje wyj¹tek jak wiek bêdzie mniejszy od zera.
  44. }else
  45. this->wiek=wiek;
  46. }
  47.  
  48. string Imie() const {return imie;}
  49. string Nazwisko() const {return nazwisko;}
  50. int Wiek() const {return wiek;}
  51. };
  52.  
  53.  
  54. int main()
  55. {
  56. try // Musisz napisaæ try {} i w tych klamrach instrukcje, które wyrzucaj¹ wyj¹tki
  57. {
  58. Dane a("Andrzej", "Kowalski", 10); // Poprawny obiekt stworzony
  59. 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>
  60.  
  61. Dane b("a","a",-10); // Tutaj pozmieniaj na ró¿ne wartoœæ by zobaczyæ jak pluj¹ siê wyj¹tki :D
  62. }
  63. catch (Blad wyjatek) // Po try musi byæ catch. W nawiasie wpisujesz nazwê klasy i jak¹œ nazwê danego obiektu
  64. {
  65. 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
  66. }
  67.  
  68. _getch();
  69. return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement