C++/Przeciążanie operatorów: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
→Operatory "bool" i "!": błąd |
→Przykład zastosowania: zmiana klasy aby można było przechować tablicę DOWOLNEGO typu danych |
||
Linia 46:
ostream & operator<< (ostream &wyjscie, const Student &s)
{
return wyjscie << "Nr indeksu : " <<s.nr_indeksu << endl << "Srednia ocen : " <<s.srednia_ocen<<endl;
}
</source>
Linia 76 ⟶ 75:
//...
public:
int operator==(const Student &q) {return nr_indeksu==q.nr_indeksu};
int operator==(const int &q) {return nr_indeksu==q};
};
</source>
Linia 125 ⟶ 124:
#include <iostream>
using namespace std;
template <typename T, int el>
class
{
public:
operator bool() const {return (L_elementow != 0);}
bool operator!() const {return (L_elementow == 0);}
private:
};
Linia 141 ⟶ 140:
{
const n = 5;
if(tab)
Linia 148 ⟶ 147:
cout << "Tablica jest pusta." << endl;
if(tab2)
Linia 171 ⟶ 170:
W niektórych przypadkach bardzo przydatny jest operator indeksu '''[]'''. Można go przeciążyć oczywiście w dowolny sposób, ale chyba najbardziej intuicyjne jest przypisanie mu funkcji dostępu do konkretnego elementu np. w tablicy.
Posługując się przykładem klasy '''
<source lang="cpp">
const
</source>
Linia 184 ⟶ 183:
{
const n = 5;
TablicaInt <short, n> tab;
for(int i = 0; i < n; ++i)
|