this_is_madness Δημοσ. 25 Σεπτεμβρίου 2012 Δημοσ. 25 Σεπτεμβρίου 2012 Διαβάζω μια άσκηση και κόλλησα σε ένα σημείο, το παρακάτω: Money ourAmount=yourAmount+myAmount; Το Money είναι τάξη , τα yourAmount και myAmount είναι τύπου Money ,ο τελεστής + έχει υποστεί υπερφόρτωση και επιστρέφει ένα ανώνυμο αντικείμενο τύπου Money . Προφανώς το παραπάνω είναι σωστό. Αυτό που δεν καταλαβαίνω είναι ότι αφού κατά την δήλωση ενός αντικειμένου ,αυτόματα αναλαμβάνουν τις αρχικοποιήσεις οι δομητές,η παραπάνω εκχώρηση πως αρχικοποιεί το ourAmount τη γίνεται με τους δομητές? Αν η παραπάνω γραμμή κώδικα ήταν γραμμένη έτσι θα το καταλάβαινα: Money ourAmount;//αρχικοποιείται από τον δομητή ourAmount=yourAmount+myAmount;
παπι Δημοσ. 25 Σεπτεμβρίου 2012 Δημοσ. 25 Σεπτεμβρίου 2012 Στο Money ourAmount; καλειται ο default constructor. Επειτα στο ourAmount = your+ my; καλειται ο assignment operator. Το Money ourAmount = my + your; ισοδυναμει με Money ourAmount(my+your); δηλαδη καλειται ο copy constructor.
Downloadpercent Δημοσ. 25 Σεπτεμβρίου 2012 Δημοσ. 25 Σεπτεμβρίου 2012 δονητές? θέλεις να αναπαραστήσεις έναν δονητή σε μια γλώσσα προ/σμού? και τι συμπεράσματα θα βγάλεις ?
koslibpro Δημοσ. 25 Σεπτεμβρίου 2012 Δημοσ. 25 Σεπτεμβρίου 2012 δονητές? θέλεις να αναπαραστήσεις έναν δονητή σε μια γλώσσα προ/σμού? και τι συμπεράσματα θα βγάλεις ? Ξαβαδιαβασε την λεξη πιο προσεκτικα
Downloadpercent Δημοσ. 25 Σεπτεμβρίου 2012 Δημοσ. 25 Σεπτεμβρίου 2012 #topic starter έτσι όπως τα λες δεν βγάζουμε και πολύ άκρη, αν κατάλαβα καλά ... εννοείς αυτό? http://pastebin.com/3suN49e9 Output Money ourAmount;//αρχικοποιείται από τον δομητή ourAmount=yourAmount+myAmount; φυσικά και το yourAmount & myAmmount είναι δηλωμένα κάπου...
defacer Δημοσ. 25 Σεπτεμβρίου 2012 Δημοσ. 25 Σεπτεμβρίου 2012 #topic starter έτσι όπως τα λες δεν βγάζουμε και πολύ άκρη, αν κατάλαβα καλά ... Εννοεί αυτό που απάντησε το παπί.
this_is_madness Δημοσ. 25 Σεπτεμβρίου 2012 Μέλος Δημοσ. 25 Σεπτεμβρίου 2012 Στο Money ourAmount; καλειται ο default constructor. Επειτα στο ourAmount = your+ my; καλειται ο assignment operator. Το Money ourAmount = my + your; ισοδυναμει με Money ourAmount(my+your); δηλαδη καλειται ο copy constructor. thanks παπι
moukoublen Δημοσ. 27 Σεπτεμβρίου 2012 Δημοσ. 27 Σεπτεμβρίου 2012 Κάτι άσχετο: Sorry ρε παιδιά, είναι συνειδητή επιλογή κάποιου ακαδημαϊκού τις πληροφορικής να μεταφράζει τον constructor ως δομητής??? Αν είναι δυνατόν!!! Εντάξει είναι απόλυτα σωστή η άποψη ότι στην τριτοβάθμια εκπαίδευση είναι ντροπή να μην διδάσκονται τα πράγματα στην Ελληνική γλώσσα (φυσικά θα πρέπει να δίνονται και οι αγγλικοί όροι ταυτόχρονα). Αλλά τόσο περίεργες αποδόσεις μόνο αποπροσανατολίζουν έχω την αίσθηση. Πιο πολύ, το κάνω για να το κάνω μου φαίνεται. Ένα ωραίο άρθρο για το operator overloading γενικά (που μάλλον από κάποιο θέμα εδώ μέσα το έχω βρει, κάποιος θα το παρέθεσε) είναι αυτό. @Downloadpercent Νομίζω οτι είναι καλύτερο ο operator+ να μην επιστρέφει αναφορά κάποιου υπάρχοντος αντικειμένου. Δες και στο άρθρο παραπάνω.
παπι Δημοσ. 28 Σεπτεμβρίου 2012 Δημοσ. 28 Σεπτεμβρίου 2012 Γαμησε τα. Στην αρχη νομιζα οτι μιλαει για linker.... αλλα μετα λεω "κατσε.. ο linker ειναι συνδετηρας (καπως ετσι...)" και επειτα εφοσν δεν εβγαζα ακρη, μου εκοψε οτι μιλα για constructors. αααα ακομα δεν καταλαβα τι ειναι το "ανωνυμο" αντικειμενο στην c++
Directx Δημοσ. 28 Σεπτεμβρίου 2012 Δημοσ. 28 Σεπτεμβρίου 2012 Συνήθως στα Ελληνικά, ο Linker μεταφράζεται ως "(ο) Συνδετής".
defacer Δημοσ. 28 Σεπτεμβρίου 2012 Δημοσ. 28 Σεπτεμβρίου 2012 αααα ακομα δεν καταλαβα τι ειναι το "ανωνυμο" αντικειμενο στην c++ Temporary object μάλλον? Συνήθως στα Ελληνικά, ο Linker μεταφράζεται ως "(ο) Συνδετής". Kill me now.
migf1 Δημοσ. 28 Σεπτεμβρίου 2012 Δημοσ. 28 Σεπτεμβρίου 2012 Καταλαβαίνετε τι τράβηξα όταν μετέφραζα εκείνα τα IDE ε; Δομητής, Συνδέτης, Μεταγλωττιστής, Αποσφαλμάτωση ... άστα να πάνε. Και φυσικά δεν μεταφράζονται πάντα ίδια, μπορεί να έχουν άλλη μετάφραση στα guidelines της microsoft, άλλη στα guidelines του open-source, και πάει λέγοντας. Κατά τη γνώμη μου πρόκειται για τελείως αχρείαστη επιπλοκή όσων μαθαίνουν προγραμματισμό σε μη αγγλόφωνες σχολές. Το μόνο που καταφέρνουν είναι να βγάζουν τους μαθητευόμενους τους στην αγορά με συγκρτικό μειονέκτημα.
defacer Δημοσ. 28 Σεπτεμβρίου 2012 Δημοσ. 28 Σεπτεμβρίου 2012 Μπροστά σε κάτι άλλα, ο δομητής και ο μεταγλωττιστής ακούγονται hardcore ορολογία... Πώς μεταφράζεται το byte? δυφιολέξη ή δυφιοσυλλαβή (ο ξενέρωτος ο Μπαμπινιώτης λέει "ψηφιολέξη") Και απο κει και πέρα μας παίρνει η κατηφόρα: byte stream => δυφιοαυλός firmware => υλισμικό Αυτά όταν τα βλέπω φορτίζω άσχημα. Αυτό με τον δομητή να το καταπιώ μιας και στα αγγλικά επίσης ο όρος είναι "κανονική λέξη" και όχι τεχνική ορολογία. Αλλά τις ορολογίες (bit, byte, κλπ)? Έλεος. Και μετά βλέπεις κάποιους καραγκιόζηδες που θέλουν να τα εξελληνίσουν όλα να χαίρονται όταν ας πούμε στο εξωτερικό λένε pneumonia, χωρίς να φτάνει το μυαλό τους να σκεφτούν ότι και όλοι οι υπόλοιποι στον πλανήτη θα μπορούσαν να εφεύρουν ένα δικό τους όρο για την πνευμονία, αλλά δεν το κάνουν γιατί είναι ηλίθια ιδέα.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα