Εργαστήριο Τεχνολογίας Λογισμικού
0 votes
209 views

Πώς γίνεται μια μέθοδος του stack ( copy constructor, assignment operator και το operator "<<"), η οποία παίρνει σαν παράμετρο ένα άλλο stack (με const reference), να έχει πρόσβαση στα ιδιωτικά πεδία αυτού του stack (της παραμέτρου δηλαδή); Δεν θα έπρεπε να φτιάξω βοηθητικές συναρτήσεις read-only που να επιστρέφουν απλά το εκάστοτε πεδίο για να μπορώ να το χρησιμοποιήσω; Επίσης, το γεγονός ότι η μέθοδος έχει πρόσβαση στα ιδιωτικά της παραμέτρου δεν σημαίνει πως υποθετικά θα μπορούσα να τα αλλάξω (πράγμα που "χαλάει" το const);

in progtech by (790 points) | 209 views

1 Answer

0 votes

Όσον αφορά τους operators, ακριβώς αυτός είναι ο λόγος που τους ορίζουμε ως φίλες συναρτήσεις. Αν προσπαθήσεις να αλλάξεις κάτι που είναι const εντός των συναρτήσεων, τότε λογικά ο compiler θα σου γκρινιάξει. ο copy constructor είναι εξ' ορισμού μέθοδος της κλάσης σου, άρα έχει πρόσβαση στα private πεδία της κλάσης αυτής.

by (790 points)

301 questions

289 answers

288 comments

769 users