cpp:copy_constructors
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:copy_constructors [2020/04/14 15:32] – [Ορισμός ενός κατασκευαστή αντιγραφέα] gthanos | cpp:copy_constructors [2020/04/14 15:48] – [Μια πιο σύνθετη περίπτωση] gthanos | ||
---|---|---|---|
Line 137: | Line 137: | ||
</ | </ | ||
- | ==== Άλλη περίπτωση κλήση | + | ==== Άλλη περίπτωση κλήσης κατασκευαστή αντιγραφέα (copy-constructor) |
- | Μία άλλη περίπτωση κατά την οποία θα κληθεί o κατασκευαστής αντιγραφέας είναι η παρακάτω. Εδώ η δήλωση της μεταβλητής r2 συμπίπτει με την αρχικοποίηση του αντικειμένου. Σε αυτή την περίπτωση καλείται ο κατασκευαστής αντιγραφέας με όρισμα το //r1//. | + | Μία άλλη περίπτωση κατά την οποία θα κληθεί o κατασκευαστής αντιγραφέας είναι η παρακάτω. |
<code cpp CopyRectangle.cpp> | <code cpp CopyRectangle.cpp> | ||
Line 149: | Line 149: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | Εδώ η δήλωση της μεταβλητής r2 συμπίπτει με την αρχικοποίηση του αντικειμένου. Σε αυτή την περίπτωση καλείται ο κατασκευαστής αντιγραφέας με όρισμα το // | ||
<WRAP center round tip 80%> | <WRAP center round tip 80%> | ||
Line 161: | Line 163: | ||
} | } | ||
</ | </ | ||
- | Για τον μεταγλωττιστή όμως οι κώδικες είναι διαφορετικοί. Στην πρώτη περίπτωση καλείται ο κατασκευαστής αντιγραφέας (//copy constructor// | + | Για τον μεταγλωττιστή όμως οι δύο |
</ | </ | ||
Line 220: | Line 222: | ||
Rectangle(); | Rectangle(); | ||
~Rectangle(); | ~Rectangle(); | ||
- | Rectangle(Rectangle &r); | ||
void setWidth(int w); | void setWidth(int w); | ||
void setHeight(int h); | void setHeight(int h); |
cpp/copy_constructors.txt · Last modified: 2022/05/12 19:41 by gthanos