Hylla
Författare/Namn
Titel
Utgivning, förlag, etc. Pagina, Sundbyberg : 2005
SAB Klassning
Upplaga
Omfång
Anmärkning: Allmän
Term
Medarbetare
ISBN
Antal i kö:
*00002488cam 2200697 ar4500
*00177526
*00520050815110840.0
*008 2005 e ||| 0|swe
*020 $a91-636-0835-9$x91-636-0835-9
*035 $a77526
*0411 $aswe$heng
*082 $a005.133
*084 $aPubbz C++
*1001 $aPrata, Stephen
*24500$aC++ programmering /$cStephen Prata ; översättning: Elsie Formgren och Sten Sundström
*249 $aC++ primer plus.
*250 $a5., [rev.] uppl.
*260 $aSundbyberg :$bPagina,$c2005
*300 $a1169 s :$bill.
*500 $ac++
*650 $ac++
*7001 $aFormgren, Elsie$4trl
*7001 $aSundström, Sten$4trl
*850 $aLoBj
*852 $cPub
^
Det finns inga omdömen till denna titeln.
Klicka här
för att vara den första som skriver ett omdöme.
Inledning 1 Förord till femte upplagan 1 Exempelkod som används i den här boken 2 Hur boken är upplagd 2 Till lärare och instruktörer 7 Konventioner som används i den här boken 8 System som använts för att utveckla programexemplen i den här boken 9 Kapitel 1 En introduktion 11 Lära sig C++ 11 Lite historik 12 Språket C 13 Programmeringsfilosofin i C 13 Bytet till C++: objektorienterad programmering 14 C++ och generisk programmering 15 Uppkomsten av C++ 16 Flyttbarhet och standarder 17 Tillvägagångssättet vid programmering 19 Skapa källkoden 20 Kompilering och länkning 22 Sammanfattning 27 Kapitel 2 Komma igång med C++ 29 C++ från grunden 29 Funktionen main() 32 Kommentarer i C++ 34 Preprocessorn och filen iostream 35 Namn på headerfiler 36 Namnutrymmen 37 Utmatning i C++ med cout 38 Formatering av källkod i C++ 41 Satser i C++ 43 Deklarationssatser och variabler 44 Tilldelningssatsen 45 Nya trick med cout 46 Fler satser i C++ 47 Hur man använder cin 48 Slå ihop med cout 48 cin och cout: Lite klasstänkande 49 Funktioner 50 Funktioner med returvärde 51 Funktionsvarianter 54 Användardefinierade funktioner 55 Egendefinierad funktion med returvärde 58 Placera using-direktivet i program med flera funktioner 60 Sammanfattning 62 Repetitionsfrågor 63 Programmeringsövningar 64 Kapitel 3 Hantera data 67 Enkla variabler 68 Namn på variabler 68 Heltalstyper 70 Heltalstyperna short, int och long 70 Typer som är unsigned 75 Välja heltalstyp 77 Heltalskonstanter 78 Hur C++ avgör datatyp för en konstant 80 Typen char: tecken och små heltal 81 Datatypen bool 89 Nyckelordet const 90 Flyttal 91 Utmatning av flyttal 91 Flyttalstyper 92 Flyttalskonstanter 95 För- och nackdelar med flyttal 95 Aritmetiska operatorer i C++ 96 Ordningsföljd: operatorprioritet och associativitet 98 Divisionsskillnader 99 Modulo-operatorn 101 Typomvandlingar 101 Sammanfattning 106 Repetitionsfrågor 107 Programmeringsövningar 108 Kapitel 4 Sammansatta typer 111 Introduktion till vektorer 112 Mer om initiering av vektorer 115 Strängar 116 Sammanlänkning av strängar 118 Använda strängar i en vektor 118 Äventyr med stränginmatning 120 Läsa stränginmatning rad för rad 121 Blanda stränginmatning och numerisk inmatning 125 Introduktion till klassen string 127 Tilldela, addera och lägga till 128 Fler operationer med klassen string 129 Mer om in- och utmatning i samband med string-klassen 131 Introduktion till strukturer 133 Använda en struktur i ett program 135 Kan en struktur använda en string-klassmedlem 137 Andra egenskaper hos strukturer 138 Vektorer med strukturer 139 Strukturer på bitnivå 141 Datatypen union 141 Enumerationer 143 Bestämning av värden på enumeratorer 144 Värdeintervall för enumerationer 145 Pekare och det fria minnesutrymmet 145 Deklaration och initiering av pekare 149 Fallgropar med pekare 151 Pekare och tal 151 Allokera minne med new 152 Frigöra minne med delete 154 Använda new för att skapa dynamiska vektorer 155 Pekare, vektorer och pekararitmetik 158 Pekare och strängar 163 Använda new för att skapa dynamiska strukturer 168 Automatiskt lagringsutrymme, statiskt lagringsutrymme och dynamiskt lagringsutrymme 172 Sammanfattning 173 Repetitionsfrågor 175 Programmeringsövningar 176 Kapitel 5 Slingor och relationsuttryck 179 Introduktion till for-slingan 180 Delarna i for-slingan 181 Tillbaka till for-slingan 187 Ändra steglängden 189 Strängbearbetning med for-slingan 189 Tillväxtoperatorn (++) och minskningsoperatorn (--) 190 Sidoeffekter och sekvenspunkter 191 Prefix- kontra postfixform 192 Tillväxt-/minskningsoperatorer och pekare 193 Sammansatta tilldelningsoperatorer 194 Sammansatta satser (block) 195 Kommaoperatorn (eller fler syntaxtricks) 197 Relationsuttryck 200 Misstaget du förmodligen kommer att göra 201 Jämföra C-strängar 203 Jämföra string-strängar 205 while-slingan 206 for jämfört med while 209 Konstruera en slinga för tidsfördröjning 210 do while-slingan 212 Slingor vid textinmatning 215 Rå och opolerad cin vid inmatning 215 cin.get(char) kommer till undsättning 216 Vilken cin.get()? 217 Villkoret filslut (EOF) 218 Ännu en cin.get() 221 Nästlade slingor och tvådimensionella vektorer 225 Initiera en tvådimensionell vektor 227 Sammanfattning 229 Repetitionsfrågor 230 Programmeringsövningar 231 Kapitel 6 Hoppsatser och logiska operatorer 233 if-satsen 233 Satsen if else 235 Formatera sina if else 237 Konstruktionen if else if else 237 Logiska uttryck 239 Operatorn logiskt ELLER, 239 Operatorn logiskt OCH, && 241 Operatorn logiskt ICKE, ! 245 Fakta om logiska operatorer 247 Alternativa representationer 248 Teckenfunktionerna i biblioteket cctype 248 Villkors operatorn ?: 250 switch-satsen 252 Enumeratorer som etiketter 255 switch och ifelse 256 Satserna break och continue 257 Slingor som läser tal 259 Enkel in-/utmatning från och till filer 263 I/O av text och textfiler 263 Skriva till en textfil 265 Läsa från en textfil 268 Sammanfattning 273 Repetitionsfrågor 274 Programmeringsövningar 276 Kapitel 7 Funktioner - programmeringsmodulerna i C++ 279 En återblick på funktioner 279 Definiera en funktion 280 Funktionsprototyper och funktionsanrop 283 Funktionsargument och värdeanrop 286 Flera argument 287 Ännu en funktion med två argument 290 Funktioner för vektorer 292 Vektorer och pekare (på nytt) 293 Följderna av att använda vektorer som argument 294 Fler vektorfunktioner 297 Funktioner som använder vektoromfång 302 Pekare och const 304 Funktioner och tvådimensionella vektorer 308 Funktioner och C-strängar 309 Funktioner med C-strängar som argument 309 Funktioner som returnerar C-strängar 311 Funktioner och strukturer 313 Överföra och returnera strukturer 313 Ännu ett exempel på användning av funktioner med strukturer 315 Överföring av strukturadresser 320 Funktioner och string-objekt 322 Rekursion 323 Rekursion med ett enda rekursivt anrop 324 Rekursion med flera rekursiva anrop 325 Pekare till funktioner 327 Grundläggande om funktionspekare 327 Ett exempel på funktionspekare 329 Sammanfattning 331 Repetitionsfrågor 332 Programmeringsövningar 333 Kapitel 8 Äventyr med funktioner 337 Inline-funktioner i C++ 337 Referensvariabler 340 Skapa en referensvariabel 341 Referenser som funktionsparametrar 344 Egenskaper och egendomligheter hos referenser 347 Använda referenser med en struktur 351 Använda referenser med ett klassobjekt 354 Mer om objekt: Objekt, arv och referenser 358 När ska referensargument användas? 361 Förvalda argumentvärden 362 Funktionsöverlagring 365 Ett exempel på överlagring 367 När ska överlagring av funktioner användas? 369 Funktionsmallar 370 Överlagring av mallar 373 Uttryckliga specialiseringar 375 Instansieringar och specialiseringar 379 Vilken funktionsversion väljer kompilatorn? 381 Sammanfattning 387 Repetitionsfrågor 387 Programmeringsövningar 388 Kapitel 9 Minnesmodeller och namnutrymmen 391 Separat kompilering 391 Lagringsvaraktighet, räckvidd och länkning 397 Räckvidd och länkning 397 Automatisk lagringsvaraktighet 398 Statiska variabler 403 Nyckelord för lagringsklasser och cv-kvalificerare 413 Funktioner och länkning 416 Språklänkning 417 Lagringsscheman och dynamiskt minne 417 Operatorn placement new 418 Namnutrymmen 421 Traditionella namnutrymmen i C++ 422 Nya namnutrymmesegenskaper 422 Ett exempel som använder namnutrymmen 431 Namnutrymmen och framtiden 434 Sammanfattning 435 Repetitionsfrågor 436 Programmeringsövningar 439 Kapitel 10 Objekt och klasser 441 Procedurinriktad och objektorienterad programmering 442 Dataabstraktion och klasser 443 Vad är en typ? 443 Klasser i C++ 444 Implementera klassens medlemsfunktioner 449 Använda en klass 454 Sammanfattning så här långt 458 Klasskonstruktor och klassdestruktor 459 Deklarera och definiera en konstruktör 460 Använda konstruktörer 461 Den förvalda konstruktorn 462 Destruktorer 463 Förbättra klassen Stock 464 Sammanfattning av konstruktörer och destruktorer 471 Känn dina objekt: this-pekaren 473 En vektor med objekt 478 Mer om gränssnitt och implementering 481 Klassräckvidd 483 Klassräckvidd och konstanter 484 Abstrakta datatyper 485 Sammanfattning 490 Repetitionsfrågor 491 Programmeringsövningar 492 Kapitel 11 Arbeta med klasser 495 Operatoröverlagring 496 Koll på tiden: Ett exempel på operatoröverlagring 497 Addera en additionsoperator 500 Restriktioner vid överlagring 503 Fler överlagrade operatorer 505 Klassens vänner: friend-funktioner 508 Skapa friend-funktioner 510 En vanlig friend: Överlagring av operatorn [[ 511 Valet mellan friend och medlemsfunktion 518 Mer överlagring: En vektorklass 518 Använda en statusmedlem 526 Överlagring av aritmetiska operator för Vector-klassen 528 En kommentar till implementeringen 531 Med klassen Vector på slumppromenad 531 Automatisk och uttrycklig typomvandling med klasser 535 Omvandlingsfunktioner 540 Omvandlingar och friend-funktioner 546 Sammanfattning 549 Repetitionsfrågor 551 Programmeringsövningar 551 Kapitel 12 Klasser och dynamisk minnesallokering 555 Dynamiskt minne och klasser 556 Repetitionsexempel och statiska klassmedlemmar 556 Implicita medlemsfunktioner 564 Den nya, förbättrade String-klassen 573 Att tänka på när new används i en konstruktör 583 Angående returnering av objekt 586 Använda pekare till objekt 589 Repetera tekniker 599 En kösimulering 600 En köklass 601 En kundklass 611 Simuleringen 614 Sammanfattning 618 Repetitionsfrågor 619 Programmeringsövningar 621 Kapitel 13 Klassarv 625 En basklass att börja med 626 Härleda en klass 628 Konstruktörer och åtkomst 630 Använda en härledd klass 632 Speciella relationer mellan härledd klass och basklass 635 Arv som relationen är-en 637 Polymorft publikt arv 638 Utveckla de två klasserna 640 Statisk och dynamisk länkning 651 Kompatibilitet angående pekar- och referenstyp 652 Virtuella medlemsfunktioner och dynamisk länkning 653 Lite att känna till om virtuella metoder 656 Skyddad åtkomst (med protected) 659 Abstrakta basklasser 661 Använda abstrakta basklasser 664 Om abstrakta basklasser 668 Arv och dynamisk minnesallokering 669 Fall nr 1 - Härledda klassen använder inte new 669 Fall nr 2 - Härledda klassen använder new 670 Ett exempel på arv med dynamisk minnesallokering och friend-funktioner 672 En översikt av klassutformning 677 Medlemsfunktioner som kompilatorn skapar 677 Mer tänkvärt kring klassmetoder 678 Tänkvärt vid publikt arv 682 Sammanfattning av klassfunktioner 686 Sammanfattning 687 Repetitionsfrågor 688 Programmeringsövningar 689 Kapitel 14 Återanvända kod i C++ 693 Klasser med objektmedlemmar 694 En snabbtitt på klassen valarray 694 Student-klassen 695 Exempelklassen Student 697 Privat arv 704 Student-klassen (ny version) 705 Multipelt arv 714 Hur många arbetstagare? 719 Vilken metod? 723 Sammanfattning av multipelt arv (Ml) 733 Klassmallar 734 Definiera en klassmall 734 Använda en klassmall 737 En närmare titt på klassmallar 740 Exempel på en vektormall med uttrycksargument 745 Mångsidigheten hos klassmallar 748 Mallspecialiseringar 751 Medlemsmallar 754 Mallar som parametrar 757 Mallklasser och friend-funktioner 759 Sammanfattning 766 Repetitionsfrågor 768 Programmeringsövningar 77'0 Kapitel 15 Vänner, undantag med mera 777 Vänner (friend-relationer) 777 Friend-klasser 778 Friend-medlemsfunktioner 783 Andra friend-förhållanden 786 Nästlade klasser 788 Nästlade klasser och åtkomst 789 Nästla i en mall 791 Undantag 794 Anropa abort() 795 Returnera en felkod 796 Undantagsmekanismen 798 Använda objekt som undantag 801 Nysta upp stacken 805 Mer om undantag 811 Undantagsklassen exception 813 Undantag, klasser och arv 817 Om vilsna undantag 822 Försiktighetsmått i samband med undantag 825 RTTI 827 Vad är RTTI bra för? 828 Hur fungerar RTTI? 828 Operatorn dynamiccast 828 Operatorer för typomvandling 836 Sammanfattning 840 Repetitionsfrågor 841 Programmeringsövningar 842 Kapitel 16 Standardklassen string och standardmallbiblioteket STL 845 Klassen string 845 Konstruera en sträng 846 Inmatning till string-klassen 849 Arbeta med strängar 852 Vad mer erbjuder string-klassen? 857 Klassen autoptr 860 Använda autoptr 861 Att tänka på angående autoptr 863 Standardmallbiblioteket (STL) 864 Klassmallen vector 865 Saker att göra med vektorer 867 Mer att göra med vektorer 872 Generisk programmering 876 Varför behövs iteratorer? 877 Iteratorsorter 881 Iteratorhierarki 884 Koncept, raffinering och modell 885 Behållarsorter 892 Associativa behållare 902 Funktionsobjekt (funktorer) 909 Konceptet funktionsobjekt 910 Fördefinierade funktionsobjekt 912 Anpassningsbara funktionsobjekt och funktionsadaptrar 914 Algoritmer 917 Algoritmgrupper 918 Allmänna egenskaper hos algoritmer 918 STL och klassen string 920 Funktioner jämfört med behållarmetoder 921 Använda STL 922 Andra bibliotek 926 vector och valarray 927 Sammanfattning 933 Repetitionsfrågor 934 Programmeringsövningar 935 Kapitel 17 Inmatning, utmatning och filer 939 En översikt av in- och utmatning i C++ 940 Strömmar och buffertar 941 Strömmar, buffertar och filen iostream 943 Omdirigering 945 Utmatning med cout 946 Den överlagrade operatorn [[ 947 De andra metoderna i ostream 949 Tömning av utmatningsbufferten 953 Formatering med cout 954 Inmatning med cin 970 Hur cin [[ ser på inmatning 972 Strömstatus 974 Andra klassmetoder i istream 979 Andra metoder i istream 986 Inmatning och utmatning med filer 990 Enkel fil-I/O 991 Strömkontroll och isopen 994 Öppna flera filer 995 Kommandoradsbearbetning 995 Arbetslägen för filer 998 Direktåtkomst 1008 Incore-formatering 1016 Sedan då? 1018 Sammanfattning 1019 Repetitionsuppgifter 1021 Programmeringsövningar 1022 Bilaga A Talbaser 1027 Decimaltal (talbasen 10) 1027 Oktala heltal (talbasen 8) 1027 Hexadecimala tal (talbasen 16) 1028 Binära tal (talbasen 2) 1028 Binärt och hexadecimalt 1029 Bilaga B Reserverade ord i C++ 1031 Nyckelord i C++ 1031 Alternativa symboler 1032 Reserverade namn i C++-biblioteket 1032 Bilaga C ASCII-tabellen 1035 Bilaga D Operatorprioritet 1041 Bilaga E Andra operatorer 1047 Bitvisa operatorer 1047 Skiftoperatorerna 1047 De logiska bitvisa operatorerna 1049 Alternativa representationer av bitvisa operatorer 1051 Några vanliga operatortekniker på bitnivå 1052 Indirekta operatorer för medlemmar 1053 Bilaga F Klassmallen string 1059 Tretton typer och en konstant 1059 Datainformation, konstruktörer osv. 1060 Förvald konstruktör 1063 Konstruktör som använder en vektor 1063 Konstruktör som använder en del av en vektor 1064 Kopieringskonstruktorn 1064 Konstruktör som använder n kopior av ett tecken 1065 Konstruktörer som använder ett intervall 1065 Blandade minnesfunktioner 1066 Teckenåtkomst 1066 Grundläggande tilldelning 1067 Sökning i strängar 1068 Familjen find() 1068 Familjen rfind() 1068 Familjen findfirstof() 1069 Familjen findlastof() 1069 Familjen findfirstnotof() 1070 Familjen findlastnotof() 1070 Jämförelsemetoder och jämförelsefunktioner 1071 Strängmodifierare 1072 Metoder för att haka på och foga in 1072 Fler tilldelningsmetoder 1073 Infogningsmetoder 1073 Borttagningsmetoder 1074 Ersättningsmetoder 1074 Fler modifieringar: copy() och swap() 1075 Utmatning och inmatning 1075 Bilaga G Metoder och funktioner i STL 1077 Gemensamma medlemmar för alla behållare 1077 Ytterligare medlemmar för vector, list och deque 1080 Ytterligare medlemmar för set och map 1082 STL-funktioner 1084 Icke-modifierande sekvensoperationer 1084 foreach() 1086 find() 1086 findif() 1086 findend() 1086 fmdfirstof() 1086 adjacentfind() 1087 count() 1087 countif() 1087 equal() 1088 search() 1088 searchn() 1088 Modifierande sekvensoperationer 1089 copy() 1091 copybackward() 1091 swap() 1091 swapranges() 1091 iterswap() 1091 transform() 1092 replace() 1092 replaceif() 1092 replacecopy() 1092 replacecopyif() 1093 fill() 1093 filln() 1093 generate() 1093 generaten() 1093 remove() 1093 removeif() 1094 removecopy() 1094 removecopyif() 1094 unique() 1094 uniquecopy() 1095 reverse() 1095 reversecopy() 1095 rotate() l095 rotatecopy() 1096 randomshuffle() 1096 partition() 1096 stablepartition() 1096 Sortering och besläktade operationer 1097 Numeriska operationer 1108 accumulate() 1109 innerproduct() 1109 partialsum() 1110 adjacentdifference() 1110 Bilaga H Litteratur och Internet-resurser 1111 Förslag till läsning 1111 Internet-resurser 1113 Bilaga i Konvertera till C++ enligt ANSI/ISO-standarden 1115 Använd alternativ för vissa preprocessordirektiv 1115 Använd const istället för #define för att definiera konstanter 1115 Använd inline istället för #define till korta funktioner 1117 Använd funktionsprototyper 1118 Använd typomvandlingar 1118 Bli bekant med rutinerna i C++ 1119 Använd den nya headerfilorganisationen 1119 Använd namnutrymmen 1119 Använd mallen autoptr 1120 Använd klassen string 1121 Använd STL 1121 Bilaga J Svar till repetitionsfrågorna 1123 Kapitel 2 1123 Kapitel 3 1123 Kapitel 4 1124 Kapitel 5 1126 Kapitel 6 1127 Kapitel 7 1128 Kapitel 8 1130 Kapitel 9 1131 Kapitel 10 1132 Kapitel 11 1134 Kapitel 12 1135 Kapitel 13 1138 Kapitel 14 1139 Kapitel 15 1141 Kapitel 16 1142 Kapitel 17 1143 Register 1147