This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
|
cpp:vector_overloading [2017/05/04 13:39] gthanos [Μοναδιαίοι τελεστές (unary operators)] |
cpp:vector_overloading [2021/05/24 07:30] gthanos |
||
|---|---|---|---|
| Line 2: | Line 2: | ||
| Ας υποθέσουμε ότι έχουμε την παρακάτω κλάση //Vector// η οποία υλοποιεί ένα μονοδιάστατο πίνακα από ακεραίους. | Ας υποθέσουμε ότι έχουμε την παρακάτω κλάση //Vector// η οποία υλοποιεί ένα μονοδιάστατο πίνακα από ακεραίους. | ||
| - | <code cpp Vector.cpp> | + | <code cpp Vector.hpp> |
| #include < | #include < | ||
| #include < | #include < | ||
| using namespace std; | using namespace std; | ||
| + | |||
| + | #ifndef _VECTOR_HPP_ | ||
| + | #define _VECTOR_HPP_ | ||
| class Vector { | class Vector { | ||
| int *array; | int *array; | ||
| - | | + | int size; |
| | | ||
| public: | public: | ||
| - | Vector(unsigned | + | Vector(int length=0); |
| Vector(const Vector &v); | Vector(const Vector &v); | ||
| Vector(const Vector *v); | Vector(const Vector *v); | ||
| ~Vector(); | ~Vector(); | ||
| - | | + | int length() const;// return Vector' |
| - | int & | + | int & |
| int find(int a) const; | int find(int a) const; | ||
| // if not element not found | // if not element not found | ||
| Line 24: | Line 27: | ||
| }; | }; | ||
| - | Vector:: | + | #endif |
| + | </ | ||
| + | |||
| + | <code cpp Vector.cpp> | ||
| + | #include " | ||
| + | Vector:: | ||
| size = length; | size = length; | ||
| array = new (nothrow) int[size]; | array = new (nothrow) int[size]; | ||
| Line 61: | Line 69: | ||
| } | } | ||
| - | unsigned | + | int Vector:: |
| return size; | return size; | ||
| } | } | ||
| - | int & | + | int & |
| if(pos> | if(pos> | ||
| cerr << " | cerr << " | ||
| Line 89: | Line 97: | ||
| } | } | ||
| } | } | ||
| + | </ | ||
| + | <code cpp VectorUsage.cpp> | ||
| + | #include " | ||
| int main() { | int main() { | ||
| Vector v(5); | Vector v(5); | ||
| Line 99: | Line 110: | ||
| Για την παραπάνω κλάση κλάση //Vector// θέλουμε να υπερφορτώσουμε τους τελεστές ανά κατηγορία ως εξής: | Για την παραπάνω κλάση κλάση //Vector// θέλουμε να υπερφορτώσουμε τους τελεστές ανά κατηγορία ως εξής: | ||
| + | * [[cpp: | ||
| + | * [[cpp: | ||
| + | * [[cpp: | ||