Poznaj C++ w$ godziny0244

Poznaj C++ w$ godziny0244



236


Godzina 16

Dlatego, funkcja Pies:: Machaj Ogonem () ma dostęp do zmiennej jegoRasa (zadeklarowanej jako private) i do wszystkich zmiennych klasy Ssak zadeklarowanych jak protected.

Nawet jeśli w hierarchii umieścilibyśmy inne klasy pomiędzy Ssak i Pies (np. klasa ZwierzeDomowe) to klasa Pies i tak miałaby dostęp do wszystkich elementów klasy Ssak zadeklarowanych jako protected (oczywiście, przy założeniu, że te dodatkowe klasy wykorzystują dziedziczenie publiczne).

Listing 16.2 pokazuje jak stworzyć obiekt klasy Pies i jak wykorzystywać jego zmienne i funkcje wewnętrzne.

Listing 16.2. Wykorzystanie klasy pochodnej

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 16.2 Wykorzystanie obiektów pochodnych #include <iostream.h>

enum RASA { YORKIE, CAIRN, DANDIE, SHETLAND, DOBERMAN, LAB };

class Ssak

{

public:

// Konstruktory

Ssak() :jegoWiek(2) , jegoWaga(5) {}

-Ssak() {}

// funkcje dostępu

int PobierzWiek()const { return jegoWiek; } void UstawWiek(int wiek) { jegoWiek = wiek; } int PobierzWaga() const { return jegoWaga; ) void UstawWaga(int waga) { jegoWaga = waga; )

// Inne metody

void Mow()const ( cout « "Odgłos Ssaka!\n"; }

void Spij()const ( cout « "Cicho. Ja teraz spie.\n"; }

protected;

int jegoWiek; int jegoWaga;

1;

class Pies : public Ssak

i

public:

// Konstruktory

Pies() : jegoRasa (YORKIE) {)

-Pies () {}

// Funkcje dostępu

RASA PobierzRasa() const ( return jegoRasa; ) void UstawRasa(RASA rasa) ( jegoRasa = rasa; )

// Inne metody

void MachajOgonem() { cout « "Machanie ogonem...\n"; }

Godzina 16

236


Dlatego, funkcja Pies: :MachajOgonem() ma dostęp do zmiennej jegoRasa (zadeklarowanej jako private) i do wszystkich zmiennych klasy Ssak zadeklarowanych jak protected.

Nawet jeśli w hierarchii umieścilibyśmy inne klasy pomiędzy Ssak i Pies (np. klasa ZwierzeDomowe) to klasa Pies i tak miałaby dostęp do wszystkich elementów klasy Ssak zadeklarowanych jako protected (oczywiście, przy założeniu, że te dodatkowe klasy wykorzystują dziedziczenie publiczne).

Listing 16.2 pokazuje jak stworzyć obiekt klasy Pies i jak wykorzystywać jego zmienne i funkcje wewnętrzne.

Listing 16.2. Wykorzystanie klasy pochodnej

1:    //Listing 16.2 Wykorzystanie obiektów pochodnych

2:

3:    ffinclude <iostream.h>

4:    enum RASA { YORKIE, CAIRN, DANDIE, SHETLAND, DOBERMAN, LAB };

5:

6:    class Ssak

7:    i

8:    public:

9:    // Konstruktory

10:    Ssak():jegoWiek(2), jegoWaga(5)()

11:    -Ssak () {]

12:

13:    // funkcje dostępu

14:    int PobierzWiek()const    {    return    jegoWiek;    )

15:    void UstawWiek(int    wiek)    {    jegoWiek    =    wiek;    )

16:    int PobierzWaga()    const    (    return    jegoWaga;    )

17:    void UstawWaga(int waga) ( jegoWaga = waga; )

18:

19:    // Inne metody

20:    void Mow()const {    cout    «    "Odgłos Ssaka!\n”;    )

21:    void Spij()const { cout « "Cicho. Ja teraz spie.\n"; )

22:

23:

24:    protected:

25:    int jegoWiek;

26:    int jegoWaga;

27:    >;

28:

29:    class Pies : public Ssak

30:    (

31:    public:

32:

33:    // Konstruktory

34:    Pies () : jegoRasa (YORKIE) {)

35:    -Pies () ()

36:

37:    // Funkcje dostępu

38:    RASA PobierzRasa() const { return jegoRasa; )

39:    void UstawRasa(RASA rasa) ( jegoRasa = rasa; }

40:

41:    // Inne metody

42:    void MachajOgonemO { cout « "Machanie ogonem. ..\n"; )


Wyszukiwarka

Podobne podstrony:
funkcji i me wchodzą w skład przestrzeni roboczej Matlaba. Z poziomu funkcji me ma dostępu do zmienn
Poznaj C++ w$ godziny0170 Referencje 159Przekazywanie argumentów funkcji przez referencje W trakcie
Poznaj C++ w$ godziny0247 Dziedziczenie 239 60: 61:    Pies::Pies () : 62:
Poznaj C++ w$ godziny0123 Zaawansowane sterowanie programem 111 W linii 32 obliczana jest reszta z d
Higena w gabinecie kosmetycznym 5 1* Funkcjonalne rozmieszczenie mebli i urządzeń 2.   &
Poznaj C++ w$ godziny0037 Program w C++ 21 16:    cout « "Wywołanie funkcji Add(
Poznaj C++ w$ godziny0240 232 Godzina 16 Taksonomia wprowadza hierarchię typu Jeść...”albo „należy d
Poznaj C++ w$ godziny0242 234 Godzina 16 dass Pies : public Ssak Rodzaj pochodzenia (deriuation type
Poznaj C++ w$ godziny0250 242 Godzina 16 115:    { 116:    Pies &
Poznaj C++ w$ godziny0256 248 Godzina 16 ZAWSZE NIGDY Zawsze rozszerzaj możliwości i funkcjonalno
Poznaj C++ w$ godziny0032 16 Godzina 2 W linii 1 do programu dołączany jest plik iostream.h. Kompila
Poznaj C++ w$ godziny0035 Program w C++ 19Funkcje ■ain() jest funkcją specjalną. Jest automatycznie
Poznaj C++ w$ godziny0036 20 Godzina 2Korzystanie z funkcji Funkcja może zwracać albo jakąś wartość
Poznaj C++ w$ godziny0055 40 Godzina 4EFEKT DZIAŁANIA; a: Ob: 0x: Oy: 35 a: 9 b: 7 x: 16 y: 16 W lin
Poznaj C++ w$ godziny0072 58 Godzina 5 Rysunek 5.1 W momencie wywołania funkcji program przechodzi d
Poznaj C++ w$ godziny0073 Funkcje 59Rysunek 5.2 Funkcje 59 Prototyp, pod względem typu wartości zwra
Poznaj C++ w$ godziny0075 Funkcje 61Rysunek 5.3 typ zwracanej wartości
Poznaj C++ w$ godziny0077 Funkcje 63EFEKT DZIAŁANIA: Podaj temperaturę w stopniach Fehrenheit-a: 212
Poznaj C++ w$ godziny0079 Funkcje 65Funkcje jako parametry innych funkcji Mimo że można używać funkc

więcej podobnych podstron