C++ Programming
Course Code: GN-310 Duration: 5 Days
This 5 day course covers the C++ language including recent features from the C++11 and C++14 updates. The course covers the C++ language without assuming a particular target environment although we can also offer modules on particular areas such as MFC or Linux programming if required. The course includes several standard projects and a large number of optional exercises. The outline below is an example, as we would vary the content depending on your prior experience.
Course Content
Getting Started
- Writing, building and running a C++ Program.
- Language structure.
- The main function.
- Basic stream and console input/output.
- Declaring and Initializing variables.
- Fundamental data types. Strings.
Structured Programming
- Control flow, loops and conditions.
- The for loop.
- Do and while. If and else.
- The conditional expression.
- Functions and argument passing.
- Argument passing by value and reference.
- Predeclarations and prototypes.
- Using header files.
- The switch statement.
- Variable scope - local, static, global.
- Variable lifetimes.
- Using namespaces.
- Memory management.
- Casting and cast types.
Object Orientation
- What is object orientation?
- Defining classes and creating objects.
- Classes vs data structures.
- Object oriented design concepts.
Using Objects
- Encapsulation and data hiding.
- Constructors and destructors.
- Default constructors and initialization.
- Class definition and implementation.
- Inheritance and polymorphism.
- Overriding.
- Constructing applications using objects.
- Class examples.
- Practical polymorphism.
- Virtual functions.
- Abstract base classes.
- Run time type information and dynamic_cast.
- Constant and static members.
- Using 'this'.
- Calling the base class constructor explicitly.
- Friends.
- Multiple inheritance and virtual base classes.
Dynamic Objects
- Pointers and the use of new and delete.
- Arrays and collections.
- Safe use of pointers.
- Pointers and references.
- Range-based for loop - 'for each'.
Operator Overloading
- Defining an operator function.
- Some rules.
- Mixing types.
- Implementing a postfix operator.
- Type conversion operators.
- Copy constructors and the assignment operator.
- Function objects and functors.
- Indexers.
Streams
- The I/O stream library.
- Inserters and extractors.
- Error handling.
- Using exceptions.
- Using I/O streams with files.
- Flags and manipulators.
- Formatting.
Templates
- Function templates.
- Type safety.
- Using multiple parameter types.
- Class templates.
- Using template classes.
- Using constants.
Smart Pointers
- What is a smart pointer?
- Smart pointers vs conventional pointers.
- Shared pointers.
- Unique pointers.
- Weak pointers.
- dynamic_pointer_cast.
- Alternatives outside the standard library.
The Standard Template Library
- Collection classes.
- Vector.
- Reserving capacity.
- Iterators.
- Using auto for complex types.
- Stream iterators.
- Algorithms.
- Predicates.
- Using member functions in algorithms.
- Sorting.
- Collection types.
- Sets, maps and find.
- Threads and multitasking.
Exception Handling
- Overview of exception handling.
- Using traditional exception handling.
- Using the Standard Library exception class.
- Throwing and catching.
- bad_alloc.
- Overloading new and delete.
Additional and Historic Features
- Lambdas.
- Structs, unions and typedef.
- More about main.
- Logical and bitwise operators.
- Conditional compilation and the pre-processor.
- Compatibility with C.
- More streams.
- Ancient features you may still meet.
« Back to last page
|
Why Choose Us?
ILM Qualifications
Beck-Bites
Team Building
|
|