Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision |
cpp:constructors [2020/04/14 07:40] – gthanos | cpp:constructors [2020/04/14 07:42] – [Υπερφόρτωση κατασκευαστών] gthanos |
---|
===== Υπερφόρτωση κατασκευαστών ===== | ===== Υπερφόρτωση κατασκευαστών ===== |
| |
Σε αναλογία με την [[cpp:functions#υπερφόρτωση_συναρτήσεων|υπερφόρτωση συναρτήσεων]] η C++ υποστηρίζει και υπερφόρτωση κατασκευαστών. Συγκεκριμένα, μπορείτε να έχετε περισσότερους από έναν κατασκευαστές αρκεί αυτοί να έχουν διαφορετικό αριθμό ή τύπο ορισμάτων. Δείτε το παρακάτω παράδειγμα της κλάση //Rectangle//, όπου δίνονται δύο επιπλέον κατασκευαστές, ένα κατασκευαστή που λαμβάνει ένα κοινό όρισμα και για τις δύο διαστάσεις του παραλληλογράμμου και ένα κατασκευαστή χωρίς ορίσματα που αναθέτει τυχαίες τιμές στις διαστάσεις του παραλληλογράμμου. | Σε αναλογία με την [[cpp:functions#υπερφόρτωση_συναρτήσεων|υπερφόρτωση συναρτήσεων]] η C++ υποστηρίζει και υπερφόρτωση κατασκευαστών. Συγκεκριμένα, μπορείτε να έχετε περισσότερους από έναν κατασκευαστές αρκεί αυτοί να έχουν διαφορετικό αριθμό ή τύπο ορισμάτων. Δείτε το παρακάτω παράδειγμα της κλάση //Rectangle//, όπου δίνονται δύο επιπλέον κατασκευαστές, ένας κατασκευαστής που λαμβάνει ένα κοινό όρισμα και για τις δύο διαστάσεις του παραλληλογράμμου δημιουργώντας ένα τετράγωνο και ένας κατασκευαστής χωρίς ορίσματα που αναθέτει τυχαίες τιμές στα μήκη των πλευρών του παραλληλογράμμου. |
| |
<code cpp Rectangle.hpp> | <code cpp Rectangle.hpp> |
int getHeight() const; | int getHeight() const; |
}; | }; |
| </code> |
| |
| <code cpp Rectangle.cpp> |
| #include "Rectangle.hpp" |
| |
Rectangle::Rectangle(int w, int h) { | Rectangle::Rectangle(int w, int h) { |