Part II.  C++ Language Reference

Table of Contents

19. Types and Expressions
19.1. Operators
19.1.1. Table of Operators
19.2. Statements and Control Structures
19.2.1. Statements
19.2.2. Selection Statements
19.2.2.1. Exercises: Selection Statements
19.2.3. Iteration
19.2.3.1. Exercises: Iteration
19.2.4. Review Questions
19.3. Evaluation of Logical Expressions
19.4. Enumerations
19.5. Signed and Unsigned Integral Types
19.5.1. Exercises: Signed and Unsigned Integral Types
19.6. Standard Expression Conversions
19.6.1. Exercises: Standard Expression Conversions
19.7. Explicit Conversions
19.8. Safer ANSI C++ Typecast operators
19.8.1. static_cast and const_cast
19.8.1.1. Exercises: static_cast and const_cast
19.8.2. reinterpret_cast
19.8.3. Why Not Use C-Style Casts?
19.8.4. More About explicit Conversion Constructors
19.9. Overloading Special Operators
19.9.1. Conversion Operators
19.9.2. The Subscript operator[]
19.9.3. The Function Call operator()
19.9.3.1. Exercises: The Function Call operator()
19.10. Runtime Type Identification (RTTI)
19.10.1. typeid operator
19.11. Member Selection Operators
19.12. Exercises: Types and Expressions
19.13. Review Questions
20. Scope and Storage Class
20.1. Declarations and Definitions
20.2. Identifier Scope
20.2.1. Default Scope of Identifiers - More Detail
20.2.2. File Scope Versus Block Scope and operator::
20.2.2.1. Exercises: File Scope Versus Block Scope and operator::
20.3. Storage Class
20.3.1. Globals, static, and QObject
20.3.1.1. Globals and const
20.3.2. Exercises: Storage Class
20.4. Namespaces
20.5. Review Questions
21. Memory Access
21.1. Pointer Pathology
21.2. Further Pointer Pathology with Heap Memory
21.3. Memory Access Summary
21.4. Introduction to Arrays
21.5. Pointer Arithmetic
21.6. Arrays, Functions, and Return Values
21.7. Different Kinds of Arrays
21.8. Valid Pointer Operations
21.9. Arrays and Memory: Important Points
21.10. Exercises: Memory Access
21.11. Review Questions
22. Inheritance in Detail
22.1. virtual Pointers, virtual Tables
22.2. Polymorphism and virtual Destructors
22.3. Multiple Inheritance
22.3.1. Multiple Inheritance Syntax
22.3.2. Multiple Inheritance with QObject
22.3.3. Resolving Multiple Inheritance Conflicts
22.3.3.1. virtual Inheritance
22.3.3.2. virtual Base Classes
22.4. public, protected, and private derivation
22.5. Review Questions