Poznaj C++ w$ godziny0211

Poznaj C++ w$ godziny0211



202 Godzina 14

Listing 14.5. Operator +

1:

2:

3:

4:

5:

6:

7:

8:

9:

10

11

12

13

14

15

16

17

18

19

20 21 22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42


// Listing 14.5

// przeciążony operator plus (+) finclude <iostream.h>

class Licznik

{

public:

Licznik ();

Licznik(int wartoscPoczatkowa);

-Licznik () {}

int PobierzWartosc()const { return jegoWartosc; ) void UstawWartosc(int x) {jegoWartosc = x; } Licznik operator* (const Licznik &); private:

int jegoWartosc;

) ;

Licznik::Licznik(int wartoscPoczatkowa): jegoWartosc(wartoscPoczatkowa)

O

Licznik::Licznik(): jegoWartosc(0)

U    <

Licznik Licznik::operator* (const Licznik & rhs)

{

return Licznik(jegoWartosc * rhs.PobierzWartosc());

}

int main()

(

Licznik lJeden(2), lDwa(4), ITrzy;

ITrzy = 1Jeden + lDwa;

cout « "1 Jeden: " « 1 Jeden.PobierzWartosc()« endl; cout « "lDwa: " « lDwa.PobierzWartosc() « endl; cout « "ITrzy: " « ITrzy.PobierzWartosc() « endl;

return 0;

}

EFEKT DZIAŁANIA:

1Jeden: 2 lDwa: 4 ITrzy: 6

W linii 15 deklarujemy operator +. Linie 28-31 zawierają jego definicję. Porównaj ją z definicją funkcji Dodaj (). Są one prawie identyczne. Jednak składnia ich wykorzystania jest skrajnie różna. Łatwiej jest napisać:

Listing 14.5. Operator +

1:

2:

3:

4:

5:

6:

7:

8:

9:

10

11

12

13

14

15

16

17

18

19

20 21 22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39 4 0 41 4 2


// Listing 14.5

// przeciążony operator plus (•►) #include <iostream.h>

class Licznik

{

public:

Licznik () ;

Licznik(int wartoscPoczatkowa);

-Licznik (){}

int PobierzWartosc()const { return jegoWartosc; ) void UstawWartosc(int x) (jegoWartosc = x; ) Licznik operatorł (const Licznik &); private:

int jegoWartosc;

);

Licznik::Licznik(int wartoscPoczatkowa): jegoWartosc(wartoscPoczatkowa)

O

Licznik::Licznik(): jegoWartosc(0)

O    «

Licznik Licznik::operator+ (const Licznik 6 rhs)

return Licznik(jegoWartosc + rhs.PobierzWartosc());

)

int main()

(

Licznik lJeden(2), lDwa(4), ITrzy;

ITrzy = 1Jeden + lDwa;

cout « "1 Jeden: " « lJeden.PobierzWartosc()« endl; cout « "lDwa: " « lDwa.PobierzWartosc() « endl; cout « "ITrzy: " « ITrzy.PobierzWartosc() « endl;

return 0;

}

EFEKT DZIAŁANIA:

1Jeden; 2 lDwa: 4 ITrzy: 6

ANALIZA


W linii 15 deklarujemy operator +. Linie 28-31 zawierają jego definicję. Porównaj ją z definicją funkcji Dodaj (). Są one prawie identyczne. Jednak składnia ich wykorzystania jest skrajnie różna. Łatwiej jest

napisać:


Wyszukiwarka

Podobne podstrony:
Poznaj C++ w$ godziny0082 68Godzina 5 14:    cout « "Podaj liczbę od 0 do 10,000
Poznaj C++ w$ godziny0144 Wskaźniki 133 Operator dostępu pośredniego ( * ) jest używany w dwóch różn
Poznaj C++ w$ godziny0205 196Godzina 14 Listing 14.1. Klasa Licznik 1:    // Listing
Poznaj C++ w$ godziny0215 206Godzina 14 W liniach 34-37 kasowane i odtwarzane są wewnętrzne zmienne
Poznaj C++ w$ godziny0206 197Przeciążanie operatorów Listing 14.2. Przeciążenie operatora
Poznaj C++ w$ godziny0207 198 Godzina 14 198 Godzina 14 ANALIZA: Implementacja operatora ++, zawarta
Poznaj C++ w$ godziny0208 Przeciążanie operatorów 199Listing 14.3. Operator przedrostkowy i
Poznaj C++ w$ godziny0011 X Poznaj C++ w 24 godziny Ograniczenia przy przeciążaniu operatorów
Poznaj C++ w$ godziny0030 14 Godzina 1 P: Czy można ignorować ostrzeżenia kompilatora (wamings) O: W
Poznaj C++ w$ godziny0061 46 Godzina 4Operatory relacji Operatory relacji są używane do określenia,
Poznaj C++ w$ godziny0063 48 Godzina 4 12:    cout « "


Poznaj C++ w$ godziny0068 Instrukcje i wyrażenia 53 Tabela 4.2. Operatory logiczne Operator Symbol
Poznaj C++ w$ godziny0069 54 Godzina 4Kolejność wykonywania operatorów logicznych Operatory relacji
Poznaj C++ w$ godziny0084 70 Godzina 5 70 Godzina 5 8: 9: 10 11 12 13 14 15 16 17 18 19 20
Poznaj C++ w$ godziny0100 86 Godzina 6 86 Godzina 6 11 12 13 14 15 16 17 18 19 20
Poznaj C++ w$ godziny0140 Wskaźniki 129 Wskaźniki 129 13 14 15 16 17 18 cout « "longVar: "
Poznaj C++ w$ godziny0191 IfZaawansowane narzędziaGodzina 13    Zaawansowane funkcje
Poznaj C++ w$ godziny0204 Przeciążanie operatorów W poprzednim rozdziale nauczyłeś się przeciążać me
Poznaj C++ w$ godziny0210 Przeciążanie operatorów 201 Przeciążanie operatorów

więcej podobnych podstron