cpp:operator_overloading
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
cpp:operator_overloading [2017/05/04 11:43] – [Παράδειγμα Υπερφόρτωσης Τελεστών] gthanos | cpp:operator_overloading [2017/05/04 12:20] – [Παράδειγμα Υπερφόρτωσης Τελεστών] gthanos | ||
---|---|---|---|
Line 96: | Line 96: | ||
| :: | .* | . | ?: | | | :: | .* | . | ?: | | ||
- | ===== Παράδειγμα Υπερφόρτωσης Τελεστών ===== | ||
- | |||
- | Ας υποθέσουμε ότι έχουμε την παρακάτω κλάση //Vector// η οποία υλοποιεί ένα μονοδιάστατο πίνακα από ακεραίους. | ||
- | <code cpp Vector.cpp> | ||
- | #include < | ||
- | #include < | ||
- | |||
- | class Vector { | ||
- | int *array; | ||
- | unsigned int size; | ||
- | | ||
- | public: | ||
- | Vector(unsigned int length=0); | ||
- | Vector(const Vector &v); | ||
- | Vector(const Vector *v); | ||
- | ~Vector(); | ||
- | } | ||
- | |||
- | Vector:: | ||
- | size = length; | ||
- | array = new (nothrow) int[size]; | ||
- | if(array==NULL) { | ||
- | cerr << " | ||
- | exit(-1); | ||
- | } | ||
- | for(int i=0; i<size; i++) | ||
- | array[i] = 0; | ||
- | } | ||
- | |||
- | Vector:: | ||
- | size = v.length(); | ||
- | array = new (nothrow) int[size]; | ||
- | if(array==NULL) { | ||
- | cerr << " | ||
- | exit(-1); | ||
- | } | ||
- | for(int i=0; i<size; i++) | ||
- | array[i] = v.getValue(i); | ||
- | } | ||
- | |||
- | Vector:: | ||
- | size = v-> | ||
- | array = new (nothrow) int[size]; | ||
- | if(array==NULL) { | ||
- | cerr << " | ||
- | exit(-1); | ||
- | } | ||
- | for(int i=0; i<size; i++) | ||
- | array[i] = v-> | ||
- | } | ||
- | |||
- | Vector:: | ||
- | delete [] array; | ||
- | } | ||
- | |||
- | unsigned int Vector:: | ||
- | return size; | ||
- | } | ||
- | </ | ||
- | |||
- | Για την κλάση //Vector//. | ||
cpp/operator_overloading.txt · Last modified: 2021/05/24 06:28 (external edit)