Poznaj C++ w$ godziny0247

Poznaj C++ w$ godziny0247



Dziedziczenie 239

60:

61:    Pies::Pies () :

62:    jegoRasa(YORKIE)

63:    {

64:    cout « "Konstruktor Psa...\n”;

65:    }

66:

67:    Pies::-Pies ()

68: {

69:    cout « "Destruktor Psa...\n";

70:    }

71:    int roain()

72:    {

73:    Pies fido;

74:    fido.Mow();

75:    fido.MachajOgonem();

76:    cout « "Fido ma " « fido.GetWiek() « " lata\n";

77:    return 0;

78:    )

EFEKT DZIAŁANIA:

Konstruktor Ssaka... Konstruktor Psa... Odgłos Ssaka! Machanie ogonem... Fido ma 2 lata Destruktor Psa... Destruktor Ssaka...

Listing 16.3. jest bardzo podobny do listingu 16.2, jednak teraz,

konstruktory i destruktory wypisują informację pozwalającą określić kiedy zostają wywołane. Najpierw jest wywoływany konstruktor klasy Ssak, a następnie konstruktor klasy Pies. Dopiero w tym momencie obiekt Pies jest całkowicie stworzony i można odwoływać się do jego metod. Kiedy Fido jest usuwany z pamięci, najpierw jest wywoływany destruktor klasy Pies, a następnie destruktor klasy Ssak.

Przekazywanie argumentów do konstruktora bazowego

Istnieje możliwość przeciążenia konstruktora klasy Ssak tak, aby pobierał on konkretny wiek. Podobnie można przeciążyć konstruktor klasy Pies, tak aby pozwalał on na proste określenie rasy. Jak odczytać wartość parametru przekazanego do konstruktora w klasie Ssak? Co się stanie, gdy klasa Pies pozwala na inicjalizację wieku, natomiast klasa Ssak nie?

Inicjalizacja klasy bazowej może być przeprowadzona podczas inicjalizacji klasy poprzez napisanie nazwy klasy bazowej i podanie w nawiasach parametrów wymaganych przez klasę bazową. Ilustruje to listing 16.4.

60:

61:    Pies: : Pies () :

62:    jegoRasa(YORKIE)

63:    (

64:    cout « "Konstruktor Psa...\n";

65:    >

66:

67:    Pies: :~Pies ()

68: {

69:    cout « "Destruktor Psa...\n";

70:    )

71:    int main()

72:    {

73:    Pies fido;

74:    fido.Mow();

75:    fido.MachajOgonem();

76:    cout « "Fido ma " « fido.GetWiek() « " lata\n";

77:    return 0 ;

78:    )

Konstruktor Ssaka... Konstruktor Psa... Odgłos Ssaka! Machanie ogonem... Fido ma 2 lata Destruktor Psa... Destruktor Ssaka...

Listing 16.3. jest bardzo podobny do listingu 16.2, jednak teraz, konstruktory i destruktory wypisują informację pozwalającą określić kiedy zostają wywołane. Najpierw jest wywoływany konstruktor klasy Ssak, a następnie konstruktor klasy Pies. Dopiero w tym momencie obiekt Pies jest całkowicie stworzony i można odwoływać się do jego metod. Kiedy Fido jest usuwany z pamięci, najpierw jest wywoływany destruktor klasy Pies, a następnie destruktor klasy Ssak.

Przekazywanie argumentów do konstruktora bazowego

istnieje możliwość przeciążenia konstruktora klasy Ssak tak, aby pobierał on konkretny wiek. Podobnie można przeciążyć konstruktor klasy Pies, tak aby pozwalał on na proste określenie rasy. Jak odczytać wartość parametru przekazanego do konstruktora w klasie Ssak? Co się stanie, gdy klasa Pies pozwala na inicjalizację wieku, natomiast klasa Ssak nie?

Inicjalizacja klasy bazowej może być przeprowadzona podczas inicjalizacji klasy poprzez napisanie nazwy klasy bazowej i podanie w nawiasach parametrów wymaganych przez klasę bazową. Ilustruje to listing 16.4.


Wyszukiwarka

Podobne podstrony:
Poznaj C++ w$ godziny0251 Dziedziczenie 243 Zauważ, że w linii 74, domyślny konstruktor klasy Pies w
Poznaj C++ w$ godziny0244 236Godzina 16 Dlatego, funkcja Pies:: Machaj Ogonem () ma dostęp do zmienn
Poznaj C++ w$ godziny0238 Dziedziczenie i polimorfizmGodzina 16    Dziedziczenie 17 &
Poznaj C++ w$ godziny0241 Dziedziczenie 233 Dziedziczenie 233 Rysunek 16.1 Hierarchia zwierzątKróles
Poznaj C++ w$ godziny0243 Dziedziczenie 235 Ten program nie wypisuje nic na ekranie, gdyż jest jedyn
Poznaj C++ w$ godziny0245 Dziedziczenie 237 43:    void ProsOJedzenie() { cout « &quo
Poznaj C++ w$ godziny0253 Dziedziczenie 245 Dziedziczenie 245 destruktor Psa. . destruktor Ssaka des
Poznaj C++ w$ godziny0255 Dziedziczenie 247 Tak wygląda bezpośrednie wywołanie metody klasy Ssak. Li
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$ godziny0074 60 Godzina 5 ^szerokoscPodworka); 19: 20:    cout « "
Poznaj C++ w$ godziny0201 192 Godzina 13 192 Godzina 13 57 58 59 60: } cout « "wiek Frisky: &qu
Poznaj C++ w$ godziny0257 Godzina 17Polimorfizm i klasy pochodne W trakcie ostatniej godziny poznałe
s 60 61 60 __ROZDZIAŁ 3__ uzdolnień i zainteresowań ucznia poprzez dostosowanie zakresu treści i tei
Scan0 1 Kwiatek podobny do kwiatka hortensji (str. 60-61) wzbogacamy tak, by miał 5 kręgó
skanuj0003 (32) en 60. 61. —62. 63. 64. 65. 66. ♦    67. 68. 69. 70.
skanuj0047(1) J Read the photo story in Students Book on pages 60-61. Close the book. Are these 

więcej podobnych podstron