This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
|
cpp:object_creation [2020/04/08 14:30] gthanos ρε |
cpp:object_creation [2020/04/08 14:35] gthanos [Δημίουργία αντικείμένων στο Heap] |
||
|---|---|---|---|
| Line 20: | Line 20: | ||
| }; | }; | ||
| - | Rectangle:: | + | Rectangle:: |
| - | Rectangle:: | + | std::cout << " |
| - | Rectangle:: | + | } |
| + | Rectangle:: | ||
| + | std::cout << " | ||
| + | } | ||
| + | Rectangle:: | ||
| + | std::cout << " | ||
| + | } | ||
| Rectangle:: | Rectangle:: | ||
| Line 32: | Line 38: | ||
| void Rectangle:: | void Rectangle:: | ||
| void Rectangle:: | void Rectangle:: | ||
| - | |||
| </ | </ | ||
| Line 107: | Line 112: | ||
| Τα παραδείγματα που είδαμε μέχρι τώρα δημιουργούν αντικείμενα μέσα στο //stack// της διεργασίας. Εάν θέλουμε να δημιουργήσουμε αντικείμενα τα οποία είναι αποθηκευμένα στο //heap//, δηλαδή δεσμεύεται δυναμικά μνήμη για αυτά, θα πρέπει να το κάνουμε μέσω του τελεστή [[cpp: | Τα παραδείγματα που είδαμε μέχρι τώρα δημιουργούν αντικείμενα μέσα στο //stack// της διεργασίας. Εάν θέλουμε να δημιουργήσουμε αντικείμενα τα οποία είναι αποθηκευμένα στο //heap//, δηλαδή δεσμεύεται δυναμικά μνήμη για αυτά, θα πρέπει να το κάνουμε μέσω του τελεστή [[cpp: | ||
| - | <code cpp RectangleInitialization.cpp> | + | <code cpp RectangleInHeap.cpp> |
| + | #include " | ||
| int main () { | int main () { | ||
| Rectangle *rect; | Rectangle *rect; | ||
| Line 122: | Line 129: | ||
| </ | </ | ||
| - | Όταν ολοκληρωθεί ο κύκλος ζωής του αντικειμένου θα πρέπει να διαγραφεί το αντικείμενο μέσω του τελεστή //delete//. Η χρήση του τελεστή //delete// καλεί πριν την καταστροφή του αντικειμένου τον καταστροφέα της κλάσης. | + | Όταν ολοκληρωθεί ο κύκλος ζωής του αντικειμένου θα πρέπει να διαγραφεί το αντικείμενο μέσω του τελεστή //delete//. Η χρήση του τελεστή //delete// καλεί πριν την καταστροφή του αντικειμένου τον καταστροφέα της κλάσης. Κατεβάστε και μεταγλωττίστε τον παραπάνω κώδικα για να δείτε τα μηνύματα που εκτυπώνονται. |