User Tools

Site Tools


cpp:constructors

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
cpp:constructors [2020/04/14 07:36] gthanoscpp:constructors [2020/04/14 07:42] – [Υπερφόρτωση κατασκευαστών] gthanos
Line 39: Line 39:
   return 0;   return 0;
 } }
 +</code>
 +
 +Για την μεταγλώττιση αρκεί να μεταγλωττισετε κάθε επιμέρους κλάση ξεχωριστά και στη συνέχεια να δημιουργήσετε το τελικό εκτελέσιμο. Στο συγκεκριμένο παράδειγμα, η διαδικασία είναι η παρακάτω και παράγει το εκτελέσιμο με όνομα **a.out**:
 +<code>
 +g++ -Wall -g Rectangle.cpp -c
 +g++ -Wall -g Rectangle.o RectangleUsage.cpp 
 </code> </code>
  
Line 65: Line 71:
 ===== Υπερφόρτωση κατασκευαστών ===== ===== Υπερφόρτωση κατασκευαστών =====
  
-Σε αναλογία με την [[cpp:functions#υπερφόρτωση_συναρτήσεων|υπερφόρτωση συναρτήσεων]] η C++ υποστηρίζει και υπερφόρτωση κατασκευαστών. Συγκεκριμένα, μπορείτε να έχετε περισσότερους από έναν κατασκευαστές αρκεί αυτοί να έχουν διαφορετικό αριθμό ή τύπο ορισμάτων. Δείτε το παρακάτω παράδειγμα της κλάση //Rectangle//, όπου δίνονται δύο επιπλέον κατασκευαστές, ένα κατασκευαστή που λαμβάνει ένα κοινό όρισμα και για τις δύο διαστάσεις του παραλληλογράμμου και ένα κατασκευαστή χωρίς ορίσματα που αναθέτει τυχαίες τιμές στις διαστάσεις του παραλληλογράμμου.+Σε αναλογία με την [[cpp:functions#υπερφόρτωση_συναρτήσεων|υπερφόρτωση συναρτήσεων]] η C++ υποστηρίζει και υπερφόρτωση κατασκευαστών. Συγκεκριμένα, μπορείτε να έχετε περισσότερους από έναν κατασκευαστές αρκεί αυτοί να έχουν διαφορετικό αριθμό ή τύπο ορισμάτων. Δείτε το παρακάτω παράδειγμα της κλάση //Rectangle//, όπου δίνονται δύο επιπλέον κατασκευαστές, ένας κατασκευαστής που λαμβάνει ένα κοινό όρισμα και για τις δύο διαστάσεις του παραλληλογράμμου δημιουργώντας ένα τετράγωνο και ένας κατασκευαστής χωρίς ορίσματα που αναθέτει τυχαίες τιμές στα μήκη των πλευρών του παραλληλογράμμου.
  
 <code cpp Rectangle.hpp> <code cpp Rectangle.hpp>
Line 85: Line 91:
     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) {
cpp/constructors.txt · Last modified: 2021/05/07 06:11 (external edit)