cpp:object_creation
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
cpp:object_creation [2019/04/19 09:14] – [Παράδειγμα αρχικοποίησης δεικτών] gthanos | cpp:object_creation [2019/04/19 09:26] – [Παράδειγμα αρχικοποίησης δεικτών] gthanos | ||
---|---|---|---|
Line 210: | Line 210: | ||
int Rectangle:: | int Rectangle:: | ||
</ | </ | ||
+ | |||
+ | <WRAP tip 80% round> | ||
+ | Παρατηρήστε τον τρόπο με τον οποίο καλείται κατασκευαστής χωρίς ορίσματα από τους άλλους κατασκευαστές. Η κλήση ενός κατασκευαστή από έναν άλλο είναι δυνατή στη C++ με χρήση του ονόματος της κλάσης. Γενικότερα, | ||
+ | <code cpp> | ||
+ | Rectangle:: | ||
+ | *width_ptr = w; | ||
+ | *height_ptr = h; | ||
+ | cout << " | ||
+ | } | ||
+ | </ | ||
+ | ή ισοδύναμα | ||
+ | <code cpp> | ||
+ | Rectangle:: | ||
+ | Rectangle(); | ||
+ | *width_ptr = w; | ||
+ | *height_ptr = h; | ||
+ | cout << " | ||
+ | } | ||
+ | </ | ||
+ | </ | ||
<code cpp RectangleUsage.cpp> | <code cpp RectangleUsage.cpp> | ||
Line 248: | Line 268: | ||
return 0; | return 0; | ||
} | } | ||
+ | </ | ||
+ | |||
+ | Μεταγλωττίστε και εκτελέστε τον παραπάνω κώδικα. Το output θα είναι το εξής: | ||
+ | < | ||
+ | Calling 0 args constructor | ||
+ | Calling 2 args constructor | ||
+ | Calling 0 args constructor | ||
+ | Calling 2 args constructor | ||
+ | Calling 1 args constructor | ||
+ | Calling 0 args constructor | ||
+ | Calling 2 args constructor | ||
+ | Calling 0 args constructor | ||
+ | Calling 2 args constructor | ||
+ | Calling 1 args constructor | ||
+ | --------------- | ||
+ | Calling 0 args constructor | ||
+ | Calling 2 args constructor | ||
+ | Calling 1 args constructor | ||
+ | Calling 0 args constructor | ||
+ | Calling 2 args constructor | ||
+ | --------------- | ||
+ | rect' | ||
+ | *r1' | ||
+ | *r2' | ||
+ | r3[0]' | ||
+ | r3[1]' | ||
+ | r4[0]' | ||
+ | r4[1]' | ||
+ | --------------- | ||
+ | Destructing rectangle (w:2, h:2) | ||
+ | Destructing rectangle (w:5, h:5) | ||
+ | Destructing rectangle (w:3, h:4) | ||
+ | --------------- | ||
+ | Destructing rectangle (w:6, h:6) | ||
+ | Destructing rectangle (w:2, h:6) | ||
+ | Destructing rectangle (w:1, h:2) | ||
</ | </ | ||
cpp/object_creation.txt · Last modified: 2021/05/07 06:22 (external edit)