TY - BOOK AU - Schildt,Herbert TI - C++: the Complete Reference, 4th Edition T2 - Osborne Complete Reference Series SN - 9780071502399 AV - QA76.73.C153S33 2003 U1 - 005.13/3 PY - 2002/// CY - New York PB - McGraw-Hill Education KW - C++ (Computer program language) KW - Electronic books N1 - Cover -- Title Page -- Copyright Page -- Contents at a Glance -- Contents -- Introduction -- Part I. The Foundation of C++: The C Subset -- 1. An Overview of C -- The Origins and History of C -- C Is a Middle-Level Language -- C Is a Structured Language -- C Is a Programmer's Language -- The Form of a C Program -- The Library and Linking -- Separate Compilation -- Understanding the .C and .CPP File Extensions -- 2. Expressions -- The Five Basic Data Types -- Modifying the Basic Types -- Identifier Names -- Variables -- Where Variables Are Declared -- Local Variables -- Formal Parameters -- Global Variables -- The const and volatile Qualifiers -- const -- volatile -- Storage Class Specifiers -- extern -- static Variables -- register Variables -- Variable Initializations -- Constants -- Hexadecimal and Octal Constants -- String Constants -- Backslash Character Constants -- Operators -- The Assignment Operator -- Type Conversion in Assignments -- Multiple Assignments -- Arithmetic Operators -- Increment and Decrement -- Relational and Logical Operators -- Bitwise Operators -- The ? Operator -- The & -- and * Pointer Operators -- The Compile-Time Operator size of -- The Comma Operator -- The Dot (.) and Arrow (-> -- ) Operators -- The [ ] and ( ) Operators -- Precedence Summary -- Expressions -- Order of Evaluation -- Type Conversion in Expressions -- Casts -- Spacing and Parentheses -- Compound Assignments -- 3. Statements -- True and False in C and C++ -- Selection Statements -- if -- Nested ifs -- The if-else-if Ladder -- The ? Alternative -- The Conditional Expression -- switch -- Nested switch Statements -- Iteration Statements -- The for Loop -- for Loop Variations -- The Infinite Loop -- for Loops with No Bodies -- The while Loop -- The do-while Loop -- Declaring Variables Within Selection and Iteration Statements -- Jump Statements; The return Statement -- The goto Statement -- The break Statement -- The exit( ) Function -- The continue Statement -- Expression Statements -- Block Statements -- 4. Arrays and Null-Terminated Strings -- Single-Dimension Arrays -- Generating a Pointer to an Array -- Passing Single-Dimension Arrays to Functions -- Null-Terminated Strings -- Two-Dimensional Arrays -- Arrays of Strings -- Multidimensional Arrays -- Indexing Pointers -- Array Initialization -- Unsized Array Initializations -- A Tic-Tac-Toe Example -- 5. Pointers -- What Are Pointers? -- Pointer Variables -- The Pointer Operators -- Pointer Expressions -- Pointer Assignments -- Pointer Arithmetic -- Pointer Comparisons -- Pointers and Arrays -- Arrays of Pointers -- Multiple Indirection -- Initializing Pointers -- Pointers to Functions -- C's Dynamic Allocation Functions -- Problems with Pointers -- 6. Functions -- The General Form of a Function -- Scope Rules of Functions -- Function Arguments -- Call by Value, Call by Reference -- Creating a Call by Reference -- Calling Functions with Arrays -- argc and argv-Arguments to main( ) -- The return Statement -- Returning from a Function -- Returning Values -- Returning Pointers -- Functions of Type void -- What Does main( ) Return? -- Recursion -- Function Prototypes -- Standard Library Function Prototypes -- Declaring Variable-Length Parameter Lists -- Old-Style Versus Modern FunctionParameter Declarations -- 7. Structures, Unions, Enumerations, and User-Defined Types -- Structures -- Accessing Structure Members -- Structure Assignments -- Arrays of Structures -- Passing Structures to Functions -- Passing Structure Members to Functions -- Passing Entire Structures to Functions -- Structure Pointers -- Declaring a Structure Pointer -- Using Structure Pointers -- Arrays and Structures Within Structures -- Bit-Fields -- Unions -- Enumerations; Using size of to Ensure Portability -- typedef -- 8. C-Style Console I/O -- An Important Application Note -- Reading and Writing Characters -- A Problem with getchar( ) -- Alternatives to getchar( ) -- Reading and Writing Strings -- Formatted Console I/O -- printf( ) -- Printing Characters -- Printing Numbers -- Displaying an Address -- The %n Specifier -- Format Modifiers -- The Minimum Field Width Specifier -- The Precision Specifier -- Justifying Output -- Handling Other Data Types -- The * and # Modifiers -- scanf( ) -- Format Specifiers -- Inputting Numbers -- Inputting Unsigned Integers -- Reading Individual Characters Using scanf( ) -- Reading Strings -- Inputting an Address -- The %n Specifier -- Using a Scanset -- Discarding Unwanted White Space -- Non-White-Space Characters in the Control String -- You Must Pass scanf( ) Addresses -- Format Modifiers -- Suppressing Input -- 9. File I/O -- C Versus C++ File I/O -- Streams and Files -- Streams -- Text Streams -- Binary Streams -- Files -- File System Basics -- The File Pointer -- Opening a File -- Closing a File -- Writing a Character -- Reading a Character -- Using fopen( ), getc( ), putc( ), and fclose( ) -- Using feof( ) -- Working with Strings: fputs( ) and fgets( ) -- rewind( ) -- ferror( ) -- Erasing Files -- Flushing a Stream -- fread( ) and fwrite( ) -- Using fread( ) and fwrite( ) -- fseek( ) and Random-Access I/O -- fprintf( ) and fscanf( ) -- The Standard Streams -- The Console I/O Connection -- Using freopen( ) to Redirect the Standard Streams -- 10. The Preprocessor and Comments -- The Preprocessor -- #define -- Defining Function-like Macros -- #error -- #include -- Conditional Compilation Directives -- #if, #else, #elif, and #endif -- #ifdef and #ifndef -- #undef -- Using defined -- #line -- #pragma -- The # and ## Preprocessor Operators -- Predefined Macro Names -- Comments; Single-Line Comments -- Part II. C++ -- 11. An Overview of C++ -- The Origins of C++ -- What Is Object-Oriented Programming? -- Encapsulation -- Polymorphism -- Inheritance -- Some C++ Fundamentals -- A Sample C++ Program -- A Closer Look at the I/O Operators -- Declaring Local Variables -- No Default to int -- The bool Data Type -- Old-Style vs. Modern C++ -- The New C++ Headers -- Namespaces -- Working with an Old Compiler -- Introducing C++ Classes -- Function Overloading -- Operator Overloading -- Inheritance -- Constructors and Destructors -- The C++ Keywords -- The General Form of a C++ Program -- 12. Classes and Objects -- Classes -- Structures and Classes Are Related -- Unions and Classes Are Related -- Anonymous Unions -- Friend Functions -- Friend Classes -- Inline Functions -- Defining Inline Functions Within a Class -- Parameterized Constructors -- Constructors with One Parameter: A Special Case -- Static Class Members -- Static Data Members -- Static Member Functions -- When Constructors and Destructors Are Executed -- The Scope Resolution Operator -- Nested Classes -- Local Classes -- Passing Objects to Functions -- Returning Objects -- Object Assignment -- 13. Arrays, Pointers, References, and the Dynamic Allocation Operators -- Arrays of Objects -- Creating Initialized vs. Uninitialized Arrays -- Pointers to Objects -- Type Checking C++ Pointers -- The this Pointer -- Pointers to Derived Types -- Pointers to Class Members -- References -- Reference Parameters -- Passing References to Objects -- Returning References -- Independent References -- References to Derived Types -- Restrictions to References -- A Matter of Style -- C++'s Dynamic Allocation Operators -- Initializing Allocated Memory -- Allocating Arrays -- Allocating Objects -- The nothrow Alternative -- The Placement Form of new; 14. Function Overloading, Copy Constructors, and Default Arguments -- Function Overloading -- Overloading Constructors -- Overloading a Constructor to Gain Flexibility -- Allowing Both Initialized and Uninitialized Objects -- Copy Constructors -- Finding the Address of an Overloaded Function -- The overload Anachronism -- Default Function Arguments -- Default Arguments vs. Overloading -- Using Default Arguments Correctly -- Function Overloading and Ambiguity -- 15. Operator Overloading -- Creating a Member Operator Function -- Creating Prefix and Postfix Forms of the Increment and Decrement Operators -- Overloading the Shorthand Operators -- Operator Overloading Restrictions -- Operator Overloading Using a Friend Function -- Using a Friend to Overload ++ or −− -- Friend Operator Functions Add Flexibility -- Overloading new and delete -- Overloading new and delete for Arrays -- Overloading the nothrow Version of new and delete -- Overloading Some Special Operators -- Overloading [ ] -- Overloading ( ) -- Overloading -> -- -- Overloading the Comma Operator -- 16. Inheritance -- Base-Class Access Control -- Inheritance and protected Members -- Protected Base-Class Inheritance -- Inheriting Multiple Base Classes -- Constructors, Destructors, and Inheritance -- When Constructors and Destructors Are Executed -- Passing Parameters to Base-Class Constructors -- Granting Access -- Virtual Base Classes -- 17. Virtual Functions and Polymorphism -- Virtual Functions -- Calling a Virtual Function Through a Base Class Reference -- The Virtual Attribute Is Inherited -- Virtual Functions Are Hierarchical -- Pure Virtual Functions -- Abstract Classes -- Using Virtual Functions -- Early vs. Late Binding -- 18. Templates -- Generic Functions -- A Function with Two Generic Types -- Explicitly Overloading a Generic Function -- Overloading a Function Template; Using Standard Parameters with Template Functions N2 - Best-selling genius Herb Schildt covers everything from keywords, syntax, and libraries, to advanced features such as overloading, inheritance, virtual functions, namespaces, templates, and RTTI--plus, a complete description of the Standard Template Library (STL) UR - https://ebookcentral-proquest-com.mlisicats.remotexs.co/lib/ppks/detail.action?docID=6256921 ER -