cpp:function_try_blocks
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| cpp:function_try_blocks [2019/05/15 08:17] – gthanos | cpp:function_try_blocks [2022/05/23 06:05] (current) – [Εξαιρέσεις που παράγονται στον κατασκευαστή] gthanos | ||
|---|---|---|---|
| Line 32: | Line 32: | ||
| Name& Name:: | Name& Name:: | ||
| + | cout << "--- Operator= ---\n"; | ||
| if(name != nullptr) | if(name != nullptr) | ||
| free(name); | free(name); | ||
| Line 84: | Line 85: | ||
| Εάν μεταγλωττίσουμε και εκτελέσουμε την παρακάτω συνάρτηση //main// ο κώδικας εκτυπώνει τα εξής: | Εάν μεταγλωττίσουμε και εκτελέσουμε την παρακάτω συνάρτηση //main// ο κώδικας εκτυπώνει τα εξής: | ||
| - | <code cpp main.cpp> | + | <code cpp CreatePerson.cpp> |
| #include < | #include < | ||
| using namespace std; | using namespace std; | ||
| Line 104: | Line 105: | ||
| Name constructor: | Name constructor: | ||
| Name constructor: | Name constructor: | ||
| + | --- Operator= --- | ||
| Name destructor: Snow | Name destructor: Snow | ||
| Name destructor: Snow | Name destructor: Snow | ||
| - | Occured: BadName | + | Exception occured: BadName |
| </ | </ | ||
| Line 114: | Line 116: | ||
| <WRAP tip 80% center round> | <WRAP tip 80% center round> | ||
| - | Ο λόγος που εκτυπώνεται 2 φορές το μήνυμα **" | + | Ο λόγος που εκτυπώνεται 2 φορές το μήνυμα **" |
| </ | </ | ||
| Line 130: | Line 132: | ||
| } | } | ||
| catch(BadName& | catch(BadName& | ||
| - | cout << " | + | cout << "\n--> firstname deleted!" |
| delete firstname; | delete firstname; | ||
| } | } | ||
| Line 142: | Line 144: | ||
| Name constructor: | Name constructor: | ||
| Name constructor: | Name constructor: | ||
| + | --- Operator= --- | ||
| Name destructor: Snow | Name destructor: Snow | ||
| Name destructor: Snow | Name destructor: Snow | ||
| + | |||
| --> firstname deleted! | --> firstname deleted! | ||
| Name destructor: John | Name destructor: John | ||
| - | Occured: BadName | + | Exception occured: BadName |
| </ | </ | ||
| - | < | + | < |
| - | Παρατηρήστε ότι αν και εκτελείται ο κώδικας μέσα στο //catch block//, η εξαίρεση " | + | Παρατηρήστε ότι αν και εκτελείται ο κώδικας μέσα στο //catch block//, η εξαίρεση " |
| </ | </ | ||
| Line 169: | Line 173: | ||
| </ | </ | ||
| - | Εάν επιθυμούμε να " | + | Εάν επιθυμούμε να " |
| <code cpp Student.hpp> | <code cpp Student.hpp> | ||
| Line 187: | Line 191: | ||
| </ | </ | ||
| - | Η παραπάνω σύνταξη επιτρέπει να πιάσουμε το exception που συμβαίνει στον κατασκευαστή της προγόνου κλάσης. Και εδώ το // | + | Η παραπάνω σύνταξη επιτρέπει να πιάσουμε το exception που συμβαίνει στον κατασκευαστή της προγόνου κλάσης. Και εδώ το // |
| + | |||
| + | <WRAP tip 80% center round> | ||
| + | Παρατηρήστε ότι δεν εκτυπώνεται ποτέ το μήνυμα **" | ||
| + | </ | ||
| Η μέθοδος //main// δίνεται παρακάτω: | Η μέθοδος //main// δίνεται παρακάτω: | ||
cpp/function_try_blocks.1557908277.txt.gz · Last modified: 2019/05/15 07:17 (external edit)
