1 option
C++ : the complete reference / Herbert Schildt.
Van Pelt Library QA76.73.C153 S33 2003
Available
- Format:
- Book
- Author/Creator:
- Schildt, Herbert.
- Language:
- English
- Subjects (All):
- C++ (Computer program language).
- Physical Description:
- xxxii, 1023 pages : illustrations ; 24 cm
- Edition:
- 4a. edition.
- Place of Publication:
- New York : McGraw-Hill, [2003]
- Summary:
- Master programmer and best-selling author Herb Schildt has updated and expanded his classic reference to C++. Using expertly crafted explanations, insider tips, and hundreds of examples, Schildt explains and demonstrates every aspect of C++. Inside you'll find details on the entire C++ language, including its keywords, operators, preprocessor directives, and libraries. There is even a synopsis of the extended keywords used for .NET programming. Of course, everything is presented in the clear, crisp, uncompromising style that has made Herb Schildt the choice of millions. Whether you're a beginning programmer or a seasoned pro, the answers to all your C++ questions can be found in this lasting resource.
- Contents:
- Part I The Foundation of C++: The C Subset
- The Origins and History of C 4
- C Is a Middle-Level Language 5
- C Is a Structured Language 6
- C Is a Programmer's Language 8
- The Form of a C Program 9
- The Library and Linking 10
- Separate Compilation 12
- Understanding the .C and .CPP File Extensions 12
- 2 Expressions 13
- The Five Basic Data Types 14
- Modifying the Basic Types 15
- Identifier Names 16
- Variables 17
- The const and volatile Qualifiers 23
- Storage Class Specifiers 25
- Variable Initializations 31
- Constants 32
- Operators 35
- Expressions 52
- 3 Statements 57
- True and False in C and C++ 58
- Selection Statements 59
- Iteration Statements 70
- Declaring Variables Within Selection and Iteration Statements 81
- Jump Statements 82
- Expression Statements 88
- Block Statements 88
- 4 Arrays and Null-Terminated Strings 89
- Single-Dimension Arrays 90
- Generating a Pointer to an Array 92
- Passing Single-Dimension Arrays to Functions 92
- Null-Terminated Strings 94
- Two-Dimensional Arrays 96
- Multidimensional Arrays 101
- Indexing Pointers 102
- Array Initialization 105
- 5 Pointers 113
- Pointer Variables 115
- The Pointer Operators 115
- Pointer Expressions 116
- Pointers and Arrays 121
- Multiple Indirection 123
- Initializing Pointers 125
- Pointers to Functions 126
- C's Dynamic Allocation Functions 129
- Problems with Pointers 131
- 6 Functions 137
- The General Form of a Function 138
- Scope Rules of Functions 138
- Function Arguments 139
- argc and argv
- Arguments to main() 144
- The return Statement 147
- Recursion 153
- Function Prototypes 155
- Declaring Variable-Length Parameter Lists 158
- Old-Style Versus Modern FunctionParameter Declarations 158
- 7 Structures, Unions, Enumerations, and User-Defined Types 161
- Structures 162
- Arrays of Structures 166
- Passing Structures to Functions 167
- Structure Pointers 169
- Arrays and Structures Within Structures 173
- Bit-Fields 174
- Unions 176
- Enumerations 180
- Using sizeof to Ensure Portability 183
- typedef 184
- 8 C-Style Console I/O 187
- An Important Application Note 188
- Reading and Writing Characters 189
- Reading and Writing Strings 192
- Formatted Console I/O 195
- printf() 195
- scanf() 203
- 9 File I/O 211
- C Versus C++ File I/O 212
- Streams and Files 212
- Streams 212
- Files 213
- File System Basics 214
- fread() and fwrite() 227
- fseek() and Random-Access I/O 229
- fprintf() and fscanf() 230
- The Standard Streams 232
- 10 The Preprocessor and Comments 237
- The Preprocessor 238
- #define 238
- #error 241
- #include 242
- Conditional Compilation Directives 242
- #undef 246
- Using defined 247
- #line 248
- #pragma 248
- The # and ## Preprocessor Operators 248
- Predefined Macro Names 250
- Single-Line Comments 252
- Part II C++
- The Origins of C++ 256
- What Is Object-Oriented Programming? 257
- Some C++ Fundamentals 259
- Old-Style vs. Modern C++ 267
- Introducing C++ Classes 270
- Function Overloading 275
- Operator Overloading 278
- Inheritance 278
- Constructors and Destructors 283
- The C++ Keywords 287
- The General Form of a C++ Program 288
- 12 Classes and Objects 289
- Structures and Classes Are Related 293
- Unions and Classes Are Related 295
- Friend Functions 297
- Friend Classes 302
- Inline Functions 303
- Parameterized Constructors 307
- Static Class Members 310
- When Constructors and Destructors Are Executed 317
- The Scope Resolution Operator 319
- Nested Classes 319
- Local Classes 320
- Passing Objects to Functions 320
- Returning Objects 323
- Object Assignment 324
- 13 Arrays, Pointers, References, and the Dynamic Allocation Operators 325
- Arrays of Objects 326
- Pointers to Objects 329
- Type Checking C++ Pointers 332
- The this Pointer 332
- Pointers to Derived Types 334
- Pointers to Class Members 337
- A Matter of Style 347
- C++'s Dynamic Allocation Operators 347
- 14 Function Overloading, Copy Constructors, and Default Arguments 359
- Function Overloading 360
- Overloading Constructors 362
- Copy Constructors 366
- Finding the Address of an Overloaded Function 370
- The overload Anachronism 371
- Default Function Arguments 371
- Function Overloading and Ambiguity 378
- 15 Operator Overloading 383
- Creating a Member Operator Function 384
- Operator Overloading Using a Friend Function 391
- Overloading new and delete 398
- Overloading Some Special Operators 407
- Overloading the Comma Operator 414
- 16 Inheritance 417
- Base-Class Access Control 418
- Inheritance and protected Members 420
- Inheriting Multiple Base Classes 425
- Constructors, Destructors, and Inheritance 426
- Granting Access 434
- Virtual Base Classes 437
- 17 Virtual Functions and Polymorphism 443
- Virtual Functions 444
- The Virtual Attribute Is Inherited 448
- Virtual Functions Are Hierarchical 450
- Pure Virtual Functions 453
- Using Virtual Functions 455
- Early vs. Late Binding 458
- 18 Templates 459
- Generic Functions 460
- Applying Generic Functions 468
- Generic Classes 472
- The typename and export Keywords 484
- The Power of Templates 485
- 19 Exception Handling 487
- Exception Handling Fundamentals 488
- Handling Derived-Class Exceptions 497
- Exception Handling Options 498
- Understanding terminate() and unexpected() 503
- The uncaught_exception() Function 505
- The exception and bad_exception Classes 506
- Applying Exception Handling 506
- 20 The C++ I/O System Basics 509
- Old vs. Modern C++ I/O 510
- C++ Streams 511
- The C++ Stream Classes 511
- Formatted I/O 513
- Overloading [double left angle bracket]and[double right angle bracket] 526
- 21 C++ File I/O 539
- [left angle bracket]fstream[right angle bracket] and the File Classes 540
- Opening and Closing a File 540
- Reading and Writing Text Files 543
- Unformatted and Binary I/O 545
- More get() Functions 551
- getline() 551
- Detecting EOF 553
- The ignore() Function 555
- peek() and putback() 556
- flush() 556
- Random Access 557
- I/O Status 561
- Customized I/O and Files 563
- 22 Run-Time Type ID and the Casting Operators 567
- Run-Time Type Identification (RTTI) 568
- The Casting Operators 578
- dynamic_cast 578
- 23 Namespaces, Conversion Functions, and Other Advanced Topics 591
- Namespaces 592
- The std Namespace 601
- Creating Conversion Functions 603
- const Member Functions and mutable 607
- Volatile Member Functions 609
- Explicit Constructors 610
- The Member Initialization Syntax 611
- Using the asm Keyword 616
- Linkage Specification 617
- Array-Based I/O 618
- Summarizing the Differences Between C and C++ 626
- 24 Introducing the Standard Template Library 629
- An Overview of the STL 630
- The Container Classes 633
- General Theory of Operation 634
- Vectors 635
- Lists 645
- Algorithms 664
- Using Function Objects 675
- The string Class 683
- Final Thoughts on the STL 695
- Part III The Standard Function Library
- 25 The C-Based I/O Functions 699
- 26 The String and Character Functions 723
- 27 The Mathematical Functions 737
- 28 Time, Date, and Localization Functions 747
- 29 The Dynamic Allocation Functions 757
- 30 Utility Functions 761
- 31 The Wide-Character Functions 775
- The Wide-Character Classification Functions 776
- The Wide-Character I/O Functions 779
- The Wide-Character String Functions 779
- Wide-Character String Conversion Functions 779
- Wide-Character Array Functions 782
- Multibyte/Wide-Character Conversion Functions 783
- Part IV The Standard C++ Class Library
- 32 The Standard C++ I/O Classes 787
- The I/O Classes 788
- The I/O Headers 790
- The Format Flags and I/O Manipulators 791
- Several Data Types 793
- Overload [double left angle bracket]and[double right angle bracket] Operators 794
- The General-Purpose I/O Functions 795
- 33 The STL Container Classes 811
- The
- Container Classes 812
- 34 The STL Algorithms 839
- 35 STL Iterators, Allocators, and Function Objects 861
- Iterators 862
- Function Objects 872
- Allocators 879
- 36 The String Class 881
- The basic_string Class 882
- The char_traits Class 894
- 37 The Numeric Classes 897
- The complex Class 898
- The valarray Class 902
- The Numeric Algorithms 920
- 38 Exception Handling and Miscellaneous Classes 925
- Exceptions 926
- auto_ptr 928
- The pair Class 930
- Localization 931
- Other Classes of Interest 931
- Part V Applying C++
- 39 Integrating New Classes: A Custom String Class 935
- The StrType Class 936
- The Constructors and Destructors 938
- I/O on Strings 939
- The Assignment Functions 941
- Concatenation 942
- Substring Subtraction 945
- The Relational Operators 947
- Miscellaneous String Functions 948
- The Entire StrType Class 949
- Using the StrType Class 958
- Creating and Integrating New Types in General 961
- A Challenge 961
- 40 Parsing Expressions 963
- Expressions 964
- Parsing Expressions: The Problem 965
- Parsing an Expression 966
- The Parser Class 968
- Dissecting an Expression 969
- A Simple Expression Parser 971
- Adding Variables to the Parser 978
- Syntax Checking in a Recursive-Descent Parser 988
- Building a Generic Parser 989
- A The .NET Managed Extensions to C++ 999
- The .NET Keyword Extensions 1000
- Preprocessor Extensions 1002
- The attribute Attribute 1003
- Compiling Managed C++ 1003
- B C++ and the Robotics Age 1005.
- Notes:
- Incluye índice.
- ISBN:
- 0072226803
- OCLC:
- 56059988
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.