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