Dane szczegółowe książki
Programowanie w języku C++ orientowane obiektowo: t.2 / Grębosz, Jerzy
Autorzy
Tytuł
Programowanie w języku C++ orientowane obiektowo: t.2
Wydawnictwo
Kraków: Oficyna Kallimach, 1999
Numer wydania
4 uzup.
ISBN
839016891X
Hasła przedmiotowe
Informacje dodatkowe
książka zawiera przykładowe programy
Nr tomu
2
Tomów
3
Spis treści
pokaż spis treści
Tom II
10.1 Typy definiowane przez użytkownika 259
10.2 Składniki klasy 261
10.3 Składnik będący obiektem 263
10.4 Enkapsulacja 263
10.5 Ukrywanie informacji 264
10.6 Klasa a obiekt.. ...267
10.1
Spis treści VII
10.7 Funkcje składowe 270
10.7.1 Posługiwanie się funkcjami składowymi 270
10.7.2 Definiowanie funkcji składowych 271
10.8 Jak to właściwie jest ? (this) 276
10.9 Odwołanie się do publicznych danych składowych 277
10.10 Zasłanianie nazw 278
10.11 Przeładowanie i zasłonięcie równocześnie 281
10.12 Przesyłanie do funkcji argumentów będącymi obiektami 282
10.12.1 Przesyłanie obiektu przez wartość 282
10.12.2 Przesyłanie przez referencję 285
10.13 Konstruktor - pierwsza wzmianka 286
10.14 Destruktor - pierwsza wzmianka 291
10.15 Składnik statyczny 295
10.16 Statyczna funkcja składowa 299
10.17 Do czego może nam się przydać składnik statyczny w klasie? 302
10.18 Funkcje składowe typu const oraz volatile 303
10.18.1 Przeładowanie a funkcje składowe const i volatile 306
11 Funkcje zaprzyjaźnione , 307
12 Struktury, Unie, Pola bitowe 318
12.1 Struktura irr"."""..'...." ......I^.........I!I.Iir..I......^..;ir..I^1.....318"
12.2 Unia 319
12.2.1 Inicjalizacja unii 321
12.2.2 Unia anonimowa 321
12.3 Pola bitowe 323
13 Zagnieżdżona definicja klasy 328
[3. l Lokalna definicja klasy 331
13.2 Lokalne nazwy typów 334
14 Konstruktory i Destruktory 336
14.1 Konstruktor 336
14.1.1 Przykład programu zawierającego klasę z konstruktorami 337
14.2 Kiedy i jak wywoływany jest konstruktor 343
14.2.1 Konstruowanie obiektów lokalnych 343
14.2.2 Konstruowanie obiektów globalnych 343
14.2.3 Konstrukcja obiektów tworzonych operatorem new 344
14.2.4 Jawne wywołanie konstruktora 345
14.2.5 Dalsze sytuacje, gdy pracuje konstruktor 346
14.3 Destruktor 347
14.4 Konstruktor domniemany 349
14.5 Lista inicjalizacyjna konstruktora 350
14.6 Konstrukcja obiektu, którego składnikiem jest obiekt innej klasy 353
14.7 Konstruktory nie-publiczne ? 359
14.8 Konstruktor kopiujący (albo inicjalizator kopiujący) 361
14.8.1 Przykład klasy z konstruktorem kopiującym 363
14.8.2 Konstruktor kopiujący gwarantujący nietykalność 370
14.8.3 Współodpowiedzialność 371
14.8.4 Konstruktor kopiujący generowany automatycznie 372
14.8.1
VIII Spis treści
14.8.5 Kiedy konstruktor kopiujący jest niezbędny? 372
15 Tablice obiektów 377
15.1 Tablica obiektów definiowana operatorem new 379
15.2 Inicjalizacja tablic obiektów 380
15.2.1 Inicjalizacja tablic obiektów będących agregatami 380
15.2.2 Inicjalizacja tablic nie będących agregatami 383
15.2.3 Inicjalizacja tablic tworzonych w zapasie pamięci 386
16 Wskaźnik do składników klasy ........... ....388
l h. l Wskaźniki zwykłe - repetytorium 388
16.2 Wskaźnik do pokazywania na składnik-daną 390
16.3 Wskaźnik do funkcji składowej 394
16.4 Tablica wskaźników do danych składowych klasy 396
16.5 Tablica wskaźników do funkcji składowych klasy 397
16.6 Wskaźniki do składników statycznych 398
17 Konwersje ........M............ 399
17.1 sformułowanie problemu VM
17.2 Konstruktor jako konwerter 401
17.3 Funkcja konwertująca - operator konwersji 404
17.4 Który wariant konwersji wybrać ? 410
17.5 Sytuacje, w których zachodzi konwersja 412
17.6 Zapis jawnego wywołania konwersji typów 413
17.6.1 Advocatus zapisu przypominającego: "wywołanie funkcji" 414
17.6.2 Advocatus zapisu: "rzutowanie" 414
17.7 Niecałkiem dobrane małżeństwa, czyli konwersje przy dopasowaniu 415
17.8 Kilka rad dotyczących konwersji 420
18 Przeładowanie operatorów.. ..422
18.1 Przeładowanie operatorów - definicja i trochę teorii 424
18.2 Moje zabawki 428
18.3 Funkcja operatorowa jako funkcja składowa 430
18.4 Funkcja operatorowa nie musi być przyjacielem klasy 433
18.5 Operatory predefiniowane 434
18.6 Argumentowość operatorów 434
18.7 Operatory jednoargumentowe 435
18.8 Operatory dwuargumentowe 438
18.8.1 Przykład na przeładowanie operatora dwuargumentowego 438
18.8.2 Przemienność 440
18.9 Przykład zupełnie niematematyczny 441
18.10 Cztery operatory, które muszą być niestatycznymi funkcjami składowymi 450
18.11 Operator przypisania = 451
18.11.1 Przykład na przeładowanie operatora przypisania 455
18.11.2 Jak to opowiedzieć potocznie? 461
18.11.3 Kiedy operator przypisania nie jest generowany automatycznie 463
18.12 Operator [] 464
18.13 Operator () 468
18.14 Operator-> 470
18.15 Operator new 477
18.12
Spis treści IX
18.16 Operator de le t e 479
18.17 Operatory postinkrementacji i postdekrementacji, czyli koniec
z niesprawiedliwością 480
18.18 Rady praktyczne dotyczące przeładowania 482
18.19 Pojedynek: Operator jako funkcja składowa, czy globalna 484
18.20 Zasłona spada, czyli tajemnica operatora " 486
18.21 Rzut oka wstecz 492
10.1 Typy definiowane przez użytkownika 259
10.2 Składniki klasy 261
10.3 Składnik będący obiektem 263
10.4 Enkapsulacja 263
10.5 Ukrywanie informacji 264
10.6 Klasa a obiekt.. ...267
10.1
Spis treści VII
10.7 Funkcje składowe 270
10.7.1 Posługiwanie się funkcjami składowymi 270
10.7.2 Definiowanie funkcji składowych 271
10.8 Jak to właściwie jest ? (this) 276
10.9 Odwołanie się do publicznych danych składowych 277
10.10 Zasłanianie nazw 278
10.11 Przeładowanie i zasłonięcie równocześnie 281
10.12 Przesyłanie do funkcji argumentów będącymi obiektami 282
10.12.1 Przesyłanie obiektu przez wartość 282
10.12.2 Przesyłanie przez referencję 285
10.13 Konstruktor - pierwsza wzmianka 286
10.14 Destruktor - pierwsza wzmianka 291
10.15 Składnik statyczny 295
10.16 Statyczna funkcja składowa 299
10.17 Do czego może nam się przydać składnik statyczny w klasie? 302
10.18 Funkcje składowe typu const oraz volatile 303
10.18.1 Przeładowanie a funkcje składowe const i volatile 306
11 Funkcje zaprzyjaźnione , 307
12 Struktury, Unie, Pola bitowe 318
12.1 Struktura irr"."""..'...." ......I^.........I!I.Iir..I......^..;ir..I^1.....318"
12.2 Unia 319
12.2.1 Inicjalizacja unii 321
12.2.2 Unia anonimowa 321
12.3 Pola bitowe 323
13 Zagnieżdżona definicja klasy 328
[3. l Lokalna definicja klasy 331
13.2 Lokalne nazwy typów 334
14 Konstruktory i Destruktory 336
14.1 Konstruktor 336
14.1.1 Przykład programu zawierającego klasę z konstruktorami 337
14.2 Kiedy i jak wywoływany jest konstruktor 343
14.2.1 Konstruowanie obiektów lokalnych 343
14.2.2 Konstruowanie obiektów globalnych 343
14.2.3 Konstrukcja obiektów tworzonych operatorem new 344
14.2.4 Jawne wywołanie konstruktora 345
14.2.5 Dalsze sytuacje, gdy pracuje konstruktor 346
14.3 Destruktor 347
14.4 Konstruktor domniemany 349
14.5 Lista inicjalizacyjna konstruktora 350
14.6 Konstrukcja obiektu, którego składnikiem jest obiekt innej klasy 353
14.7 Konstruktory nie-publiczne ? 359
14.8 Konstruktor kopiujący (albo inicjalizator kopiujący) 361
14.8.1 Przykład klasy z konstruktorem kopiującym 363
14.8.2 Konstruktor kopiujący gwarantujący nietykalność 370
14.8.3 Współodpowiedzialność 371
14.8.4 Konstruktor kopiujący generowany automatycznie 372
14.8.1
VIII Spis treści
14.8.5 Kiedy konstruktor kopiujący jest niezbędny? 372
15 Tablice obiektów 377
15.1 Tablica obiektów definiowana operatorem new 379
15.2 Inicjalizacja tablic obiektów 380
15.2.1 Inicjalizacja tablic obiektów będących agregatami 380
15.2.2 Inicjalizacja tablic nie będących agregatami 383
15.2.3 Inicjalizacja tablic tworzonych w zapasie pamięci 386
16 Wskaźnik do składników klasy ........... ....388
l h. l Wskaźniki zwykłe - repetytorium 388
16.2 Wskaźnik do pokazywania na składnik-daną 390
16.3 Wskaźnik do funkcji składowej 394
16.4 Tablica wskaźników do danych składowych klasy 396
16.5 Tablica wskaźników do funkcji składowych klasy 397
16.6 Wskaźniki do składników statycznych 398
17 Konwersje ........M............ 399
17.1 sformułowanie problemu VM
17.2 Konstruktor jako konwerter 401
17.3 Funkcja konwertująca - operator konwersji 404
17.4 Który wariant konwersji wybrać ? 410
17.5 Sytuacje, w których zachodzi konwersja 412
17.6 Zapis jawnego wywołania konwersji typów 413
17.6.1 Advocatus zapisu przypominającego: "wywołanie funkcji" 414
17.6.2 Advocatus zapisu: "rzutowanie" 414
17.7 Niecałkiem dobrane małżeństwa, czyli konwersje przy dopasowaniu 415
17.8 Kilka rad dotyczących konwersji 420
18 Przeładowanie operatorów.. ..422
18.1 Przeładowanie operatorów - definicja i trochę teorii 424
18.2 Moje zabawki 428
18.3 Funkcja operatorowa jako funkcja składowa 430
18.4 Funkcja operatorowa nie musi być przyjacielem klasy 433
18.5 Operatory predefiniowane 434
18.6 Argumentowość operatorów 434
18.7 Operatory jednoargumentowe 435
18.8 Operatory dwuargumentowe 438
18.8.1 Przykład na przeładowanie operatora dwuargumentowego 438
18.8.2 Przemienność 440
18.9 Przykład zupełnie niematematyczny 441
18.10 Cztery operatory, które muszą być niestatycznymi funkcjami składowymi 450
18.11 Operator przypisania = 451
18.11.1 Przykład na przeładowanie operatora przypisania 455
18.11.2 Jak to opowiedzieć potocznie? 461
18.11.3 Kiedy operator przypisania nie jest generowany automatycznie 463
18.12 Operator [] 464
18.13 Operator () 468
18.14 Operator-> 470
18.15 Operator new 477
18.12
Spis treści IX
18.16 Operator de le t e 479
18.17 Operatory postinkrementacji i postdekrementacji, czyli koniec
z niesprawiedliwością 480
18.18 Rady praktyczne dotyczące przeładowania 482
18.19 Pojedynek: Operator jako funkcja składowa, czy globalna 484
18.20 Zasłona spada, czyli tajemnica operatora " 486
18.21 Rzut oka wstecz 492