cpp:const_member_functions
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
cpp:const_member_functions [2017/05/15 07:33] – gthanos | cpp:const_member_functions [2021/05/07 08:50] – [Υπερφόρτωση const και non-const συναρτήσεων] gthanos | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Const μέθοδοι της κλάσης ====== | ====== Const μέθοδοι της κλάσης ====== | ||
- | Όταν δηλώνεται ένα αντικείμενο ως //const// (όπως παρακάτω), | + | Όταν δηλώνεται ένα αντικείμενο ως //const// (όπως παρακάτω), |
<code cpp Rectangle.cpp> | <code cpp Rectangle.cpp> | ||
Line 41: | Line 41: | ||
</ | </ | ||
- | Σε αυτή την περίπτωση λαμβάνετε το παρακάτω μήνυμα λάθους: | + | Σε αυτή την περίπτωση λαμβάνετε το παρακάτω μήνυμα λάθους |
< | < | ||
Rectangle5.cpp: | Rectangle5.cpp: | ||
Line 80: | Line 80: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | ===== Υπερφόρτωση const και non-const συναρτήσεων ===== | ||
+ | |||
+ | Στον παραπάνω κώδικα μπορείτε να έχετε δύο εκδόσεις για τις συναρτήσεις getWidth() και getHeight() μία που εφαρμόζεται σε const και μία που εφαρμόζεται σε non-const αντικείμενα ως εξής: | ||
+ | |||
+ | <code cpp Rectangle.cpp> | ||
+ | #include < | ||
+ | using namespace std; | ||
+ | |||
+ | class Rectangle { | ||
+ | private: | ||
+ | int width, height; | ||
+ | public: | ||
+ | Rectangle(int width, int height); | ||
+ | void setWidth(int width); | ||
+ | void setHeight(int height); | ||
+ | int getWidth() const; | ||
+ | int getHeight() const; | ||
+ | int getWidth() ; | ||
+ | int getHeight(); | ||
+ | }; | ||
+ | |||
+ | Rectangle:: | ||
+ | this-> | ||
+ | } | ||
+ | |||
+ | void Rectangle:: | ||
+ | void Rectangle:: | ||
+ | int Rectangle:: | ||
+ | int Rectangle:: | ||
+ | int Rectangle:: | ||
+ | int Rectangle:: | ||
+ | |||
+ | int main() { | ||
+ | const Rectangle rect1(10, | ||
+ | Rectangle rect2(10, | ||
+ | cout << "rect1 width: " << rect1.getWidth() << endl; | ||
+ | cout << "rect2 width: " << rect2.getWidth() << endl; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | <WRAP center round tip 80%> | ||
+ | Στο παραπάνω παράδειγμα, | ||
+ | </ | ||
+ | |||
+ | |||
cpp/const_member_functions.txt · Last modified: 2021/05/07 07:50 (external edit)