Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

preklapanje operatora

[es] :: C/C++ programiranje :: preklapanje operatora

[ Pregleda: 6410 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mafija75
ljubic goran

Član broj: 5107
Poruke: 11
212.124.182.*



Profil

icon preklapanje operatora29.08.2002. u 09:26 - pre 220 meseci
Zdravo!
Imam knjigu "Naucite C++ za 21 dan".Stigao sam do dela preklapanje operatora i nije mi bas sve jasno u vezi toga.Da li bi mogli da mi date neke primere preklapanja operatora i objasnjenje.I jedno pitanje.Zasto se vrsi preklapanje operatora(operator++,operator+,operator-,operator= itd)?
Hvala
ljubic goran
 
Odgovor na temu

Dejan Lozanovic
Dejan Lozanovic
Beograd

Član broj: 691
Poruke: 2325
*.beograd-3.tehnicom.net

Jabber: null@elitesecurity.org
Sajt: speedy-order.com


+75 Profil

icon Re: preklapanje operatora29.08.2002. u 15:20 - pre 220 meseci
Pa vidi, recimo pravis svoj neki tip podataka, recimo matematicki vektor, i sada da ne pises pises funkciju koja se zove saberiDvaVektora, vec preklopis operator +.

A kada smo kod preklapanja operatora =. Njega si obavezan da napises ukoliko tvoja klasa dinamicki alocira neku memoriju. jer ce predefinisani operator pokazivati na iistu alociranu memoriju. A kada smo kod toga upamti: copy konstruktor, operator dodele, i destruktor uvek idu u paru tako da ukoliko ce ti trebati jedan da ga napises zasebno sigurno ce ti trebati i druga dva.
 
Odgovor na temu

mafija75
ljubic goran

Član broj: 5107
Poruke: 11
212.124.182.*



Profil

icon Re: preklapanje operatora29.08.2002. u 15:33 - pre 220 meseci
Mozes li da mi posaljes neki lagan primer kako bih to skontao.Nije mi bas jasna implementacija u okviru neke klase.Zasto se na primer pise Counter& Counter::operator++ () ili Counter Counter :: Add (const Counter & rhs)?Ovo su primeri iz knjige "naucite C++ za 21 dan"
ljubic goran
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.racasse.se

Sajt: dejan.lekic.org


+2 Profil

icon Re: preklapanje operatora29.08.2002. u 16:10 - pre 220 meseci
Huh, o tome garantovano imas u toj (ili nekoj drugoj knjizi za pocetnike), svejedno evo ti sors:

/**
* Veoma prosta klasa za rad sa vektorima
* KLasa za sada moze samo da sabira dvodimenzionalne vektore...
*/
#include <iostream.h>
using namespace std;

// Sve svoje klase pocinjem sa K (K kao "klasa")
class KVector {
public:
int x,y;
KVector () {};
KVector (int,int);
KVector operator + (KVector);
};

KVector::KVector (int a, int b) {
x = a;
y = b;
}

/**
* OVDE preopterecujemo operator "+" da bi
* pomocu njega mogli da sabiramo vektore
*/
KVector KVector::operator+ (KVector param) {
KVector temp;
temp.x = x + param.x;
temp.y = y + param.y;
return (temp);
}

int main () {
char cKey;

KVector a (3,1);
KVector b (1,2);
KVector c;
c = a + b;
cout << c.x << "," << c.y;

cout << "\nPritisni nekit taster i nakon toga enter" << endl;
cin >> cKey;
return 0;
}

Dev-C++ projekat ti je "prilepljen uz poruku tako da ti predlazem da samo to "skines" i naucis.
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
Prikačeni fajlovi
 
Odgovor na temu

[es] :: C/C++ programiranje :: preklapanje operatora

[ Pregleda: 6410 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.