User Tools

Site Tools


cpp:copy_constructors

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
cpp:copy_constructors [2019/03/06 20:08] – [Δημιουργία κατασκευαστών αντιγραφέων] gthanoscpp:copy_constructors [2019/04/19 09:37] – [Ορισμός ενός κατασκευαστή αντιγραφέα] gthanos
Line 26: Line 26:
 Ένας κατασκευαστής αντιγραφέας για την κλάση Rectangle θα μπορούσε να είναι ο εξής: Ένας κατασκευαστής αντιγραφέας για την κλάση Rectangle θα μπορούσε να είναι ο εξής:
  
 +<code cpp>
 +Rectangle::Rectangle(const Rectangle &r) {
 +  width = r.width; height = r.height;
 +}
 +</code>
 +ή ο παρακάτω
 <code cpp> <code cpp>
 Rectangle::Rectangle(const Rectangle &r) { Rectangle::Rectangle(const Rectangle &r) {
Line 32: Line 38:
 </code> </code>
  
-Η μεταβλητή //r// δηλώνεται ως //const// διότι κατά την εκτέλεση του κατασκευαστή το αντικείμενο //r// δεν θα μεταβληθεί. Συνολικά η κλάση //Rectangle// διαμορφώνεται ως εξής:+Στη 2η περίπτωση, η μεταβλητή //r// δηλώνεται ως //const// διότι κατά την εκτέλεση του κατασκευαστή αντιγραφέα το αντικείμενο //r// δεν μεταβάλλεται. Συνολικά η κλάση //Rectangle// διαμορφώνεται ως εξής:
  
 <code cpp Rectangle.cpp> <code cpp Rectangle.cpp>
Line 78: Line 84:
  
 <WRAP center round tip 80%> <WRAP center round tip 80%>
-Εάν δεν ορίσετε ένα δικό σας κατασκευαστή αντιγραφέα ο //compiler// δημιουργεί τον //default copy constructor// αντιγράφοντας τα περιεχόμενα του αρχικού αντικειμένου στο νέο πεδίο προς πεδίο.+Εάν δεν ορίσετε ένα δικό σας κατασκευαστή αντιγραφέα ο //compiler// δημιουργεί τον //default copy constructor//. Ο //default// αντιγράφει τα περιεχόμενα του αρχικού αντικειμένου στο νέο πεδίο προς πεδίο.
 </WRAP> </WRAP>
  
cpp/copy_constructors.txt · Last modified: 2022/05/12 19:41 by gthanos