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

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

in progtech by (790 points) | 140 views

1 Answer

0 votes

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

by (790 points)

297 questions

287 answers

287 comments

3.1k users