cpp: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:constructors [2020/04/14 07:44] – [Χρήση member initialization list για την αρχικοποίηση των μελών της κλάσης] gthanos | cpp:constructors [2021/05/07 06:56] – [Κλήση ενός κατασκευαστή μέσα από άλλο κατασκευαστή] gthanos | ||
---|---|---|---|
Line 41: | Line 41: | ||
</ | </ | ||
- | Για την μεταγλώττιση αρκεί να μεταγλωττισετε κάθε επιμέρους κλάση ξεχωριστά και στη συνέχεια να δημιουργήσετε το τελικό εκτελέσιμο. Στο συγκεκριμένο παράδειγμα, | + | Για την μεταγλώττιση αρκεί να μεταγλωττίσετε κάθε επιμέρους |
< | < | ||
g++ -Wall -g Rectangle.cpp -c | g++ -Wall -g Rectangle.cpp -c | ||
Line 146: | Line 146: | ||
</ | </ | ||
- | Ο παραπάνω τρόπος γραφής ονομάζεται στη βιβλιογραφία | + | Ο παραπάνω τρόπος γραφής ονομάζεται στη βιβλιογραφία |
<code cpp Rectangle.hpp> | <code cpp Rectangle.hpp> | ||
Line 166: | Line 166: | ||
int getHeight() const; | int getHeight() const; | ||
}; | }; | ||
+ | </ | ||
+ | |||
+ | <code cpp Rectangle.cpp> | ||
+ | #include " | ||
Rectangle:: | Rectangle:: | ||
Line 186: | Line 190: | ||
===== Κλήση ενός κατασκευαστή μέσα από άλλο κατασκευαστή ===== | ===== Κλήση ενός κατασκευαστή μέσα από άλλο κατασκευαστή ===== | ||
- | Συχνά μπορεί να θέλουμε να καλέσουμε μέσα από ένα κατασκευαστή έναν άλλο κατασκευαστή. Μπορείτε να το κάνετε αυτό | + | Συχνά μπορεί να θέλουμε να καλέσουμε μέσα από ένα κατασκευαστή έναν άλλο κατασκευαστή. Μπορείτε να το κάνετε αυτό |
<code cpp> | <code cpp> | ||
Line 194: | Line 198: | ||
</ | </ | ||
- | O ίδιος κώδικας με χρήση // | + | Ο ίδιος κώδικας με χρήση //member |
<code cpp> | <code cpp> | ||
Line 203: | Line 207: | ||
===== Αρχικοποίηση αντικειμένων που περιέχουν πεδία που περιγράφονται από κλάσεις ===== | ===== Αρχικοποίηση αντικειμένων που περιέχουν πεδία που περιγράφονται από κλάσεις ===== | ||
- | Στην προηγούμενη ενότητα είδαμε την κλάση Cuboid που περιγράφει την κλάση του κυβοειδούς και περιέχει ένα πεδίο τύπου Rectangle. Εδώ θα δούμε πως μπορούμε να ορίσουμε ένα ή περισσότερους κατασκευαστές για τη συγκεκριμένη κλάση. | + | Στην προηγούμενη ενότητα είδαμε την κλάση Cuboid που περιγράφει την κλάση του κυβοειδούς και περιέχει ένα πεδίο τύπου Rectangle. Εδώ θα δούμε πως μπορούμε να ορίσουμε ένα ή περισσότερους κατασκευαστές για την κλάση |
<code cpp Cuboid.hpp> | <code cpp Cuboid.hpp> | ||
Line 251: | Line 255: | ||
</ | </ | ||
- | Οι παραπάνω δύο κατασκευαστές με χρήση member initialιzation list μπορούν να γραφούν ως εξής: | + | Οι παραπάνω δύο κατασκευαστές με χρήση |
< | < | ||
Line 258: | Line 262: | ||
</ | </ | ||
- | Στον πρώτο κατασκευαστή με τα δύο ορίσματα γίνεται ανάθεση του αντικειμένου //r// στο πεδίο //rect//, αντιγράφοντας | + | Στον πρώτο κατασκευαστή με τα δύο ορίσματα γίνεται ανάθεση του αντικειμένου //r// στο πεδίο //rect//, αντιγράφοντας κάθε πεδίο της παραμέτρου //r// στο αντίστοιχο πεδίο |
cpp/constructors.txt · Last modified: 2021/05/07 06:11 (external edit)