[ Pobierz całość w formacie PDF ]
ka jest skojarzona z jednym wierszem zgodnoÅ›ci. Nast¹pnie, korzystajÄ…c z przeszukiwania
binarnego, odtworzyć tekst.
(4) Zmodyfikować program z przykładu zastosowania tak, aby zachowana była kolejność rekor-
dów przy wstawianiu nowych rekordów do pliku. Wymaga to przeciążenia w klasach
i operatora , a nast¹pnie użycia go w zmodyfikowanej wersji funkcji klasy
. Funkcja znajduje miejsce na rekord , przepisuje wszystkie dalsze rekordy, aby
zrobić miejsce na i zapisuje w pliku. Teraz można zmodyfikować też metody i
. PrzykÅ‚adowo, może przerwać przeszukiwanie po natkni¹ciu si¹ na rekord
wi¹kszy od szukanego lub przy dojÅ›ciu do koÅ„ca pliku). Lepszym rozwiÄ…zaniem byÅ‚oby uży-
cie przeszukiwania binarnego opisanego w podrozdziale 2.7.
60 1. PROGRAMOWANIE OBIEKTOWE W C++
(5) Napisać program zajmujÄ…cy si¹ poÅ›rednio kolejnoÅ›ciÄ… danych w pliku. Użyć wektora wskaz-
ników położenia w pliku (uzyskiwanych przez i ), zachowywać kolejność
danych w wektorze bez zmieniania kolejności rekordów w pliku.
(6) Zmodyfikować program z przykładu zastosowania tak, aby usuwać rekordy z pliku danych.
Zdefiniować w klasach i funkcj¹ , która sprawdzi, czy rekord jest
pusty. Zdefiniować w obu klasach funkcj¹ , która nadpisze usuwany re-
kord rekordem pustym. Rekord pusty można zdefiniować jako majÄ…cy coÅ› innego niż liczb¹
(krzyżyk) w pierwszym znaku pola ). Zdefiniować nast¹pnie w klasie funkcj¹
(bardzo podobną do ), która znajdzie usuwany rekord i nadpisze go rekor-
dem pustym. Po zakończeniu działania powinien być wywołany destruktor klasy ,
który kopiuje niepuste rekordy do nowego pliku danych, usuwa stary plik i zmienia starą na-
zw¹ pliku na nowÄ….
Bibliografia
Breymann Ulrich, Designing Components with the C++ STL, Harlow: Addison-Wesley, 2000.
Budd Timothy, Data Structures in C++ Using the Standard Template Library, Reading, MA:
Addison-Wesley, 1998.
Cardelli Luca, i Wegner Peter, On Understanding Types, Data Abstraction, and Polymor-
phism , Computing Surveys 17 (1985), 471-522.
Deitel Harvey M., Deitel P.J., C++: How to Program, Upper Saddle River, NJ: Prentice Hall,
2003.
Ege Raimund K., Programming in an Object-Oriented Environment, San Diego: Academic
Press, 1992.
Flaming Bryan, Practical Data Structures in C++, New York: Wiley, 1993.
Johnsonbaugh Richard, Kalin Martin, Object-Oriented Programming in C++, Upper Saddle
River, NJ: Prentice Hall, 1999.
Khoshafian Setrag, Razmik Abnous, Object Orientation: Concepts, Languages, Databases,
User Interfaces, New York: Wiley, 1995.
Lippman Stanley B., Lajoie Josée, C++ Primer, Reading, MA: Addison-Wesley, 1998.
Meyer Bertrand, Object-Oriented Software Construction, Upper Saddle River, NJ: Prentice
Hall, 1997.
Stroustrup Bjarne, The C++ Programming Language, Reading, MA: Addison-Wesley, 1997.
Wang Paul S., C++ with Object-Oriented Programming, Boston: PWS, 1994.
[ Pobierz całość w formacie PDF ]