Part I. Introduction to C++ and Qt 4
Table of Contents
- 1. C++ Introduction
- 1.1. Overview of C++
- 1.2. A Brief History of C++
- 1.3. C++ First Example
- 1.4. Input and Output
- 1.4.1. Exercises: Input and Output
- 1.5. qmake, Project Files, and Makefile
- 1.5.1. #include: Finding Header Files
- 1.6. Getting Help Online
- 1.7. Strings
- 1.8. Streams
- 1.9. File Streams
- 1.9.1. Exercises: File Streams
- 1.10. Qt dialogs for user input/output
- 1.10.1. Exercises: Qt dialogs for user input/output
- 1.11. Identifiers, Types, and Literals
- 1.11.1. Exercises: Identifiers, Types, and Literals
- 1.12. C++ Simple Types
- 1.12.1.
main, and Command Line Arguments
- 1.12.2. Arithmetic
- 1.12.3. Exercises: C++ Simple Types
- 1.13. The Keyword const
- 1.14. Pointers and Memory access
- 1.14.1. The Unary Operators & and *
- 1.14.2. Operators new and delete
- 1.14.3. Exercises: Pointers and Memory access
- 1.15. Reference Variables
- 1.16. const* and *const
- 1.17. Review Questions
- 1.17.1. Points of Departure
- 2. Top of the class
- 2.1. First, there was struct
- 2.2. Class definitions
- 2.3. Member Access Specifiers
- 2.4. Encapsulation
- 2.5. Qt Creator - An IDE for Qt Programming
- 2.6. Introduction to UML
- 2.6.1. UML Relationships
- 2.7. Friends of a Class
- 2.8. Constructors
- 2.9. Destructors
- 2.10. The Keyword static
- 2.11. Class Declarations and Defintions
- 2.12. Copy Constructors and Assignment Operators
- 2.13. Conversions
- 2.14. const Member Functions
- 2.15. Subobjects
- 2.16. Exercise: Classes
- 2.17. Review Questions
- 3. Introduction to Qt
- 3.1. Style Guidelines, Naming Conventions
- 3.1.1. Points of Departure
- 3.2. The Qt Core Module
- 3.2.1. Streams and Dates
- 3.2.2. Exercises: The Qt Core Module
- 3.3. Review Questions
- 3.3.1. Points of Departure
- 4. Lists
- 4.1. Introduction to Containers
- 4.2. Iterators
- 4.2.1. QStringList and iteration
- 4.3. Relationships
- 4.3.1. Relationships Summary
- 4.4. Exercise: Relationships
- 4.5. Review Questions
- 4.5.1. Points of Departure
- 5. Functions
- 5.1. Function Declarations
- 5.2. Overloading Functions
- 5.2.1. Exercises: Overloading Functions
- 5.3. Default (Optional) Arguments
- 5.4. Operator Overloading
- 5.4.1. Exercises: Operator Overloading
- 5.5. Parameter Passing by Value
- 5.6. Parameter Passing by Reference
- 5.7. References to const
- 5.8. Function Return Values
- 5.9. Returning References from Functions
- 5.10. Overloading on const
- 5.10.1. Exercises: Overloading on const
- 5.11. inline Functions
- 5.11.1. Inlining versus Macro Expansion
- 5.12. Functions with Variable-length Argument Lists
- 5.13. Exercise: Encryption
- 5.14. Review Questions
- 6. Inheritance and Polymorphism
- 6.1. Simple Derivation
- 6.1.1. Inheritance Client Code Example
- 6.2. Derivation with Polymorphism
- 6.2.1. Exercises: Derivation with Polymorphism
- 6.3. Derivation from an Abstract Base Class
- 6.4. Inheritance Design
- 6.5. Overloading, Hiding, and Overriding
- 6.6. Constructors, Destructors, and Copy Assignment Operators
- 6.7. Processing Command-Line Arguments
- 6.7.1. Derivation and ArgumentList
- 6.8. Exercises: Inheritance and Polymorphism
- 6.9. Review Questions
- 6.9.1. Points of Departure