Course
Inhouse
Description
-
Type
Course
-
Methodology
Inhouse
This course is designed for experienced programmers that need to write or maintain object-oriented C++ programs. The C++ programming language is a widely used powerful tool for producing modern object-oriented programs. This course guides experienced programmers through the complexities of writing and maintaining object-oriented programs in C++. It is fully up to date with the.
About this course
It is assumed that delegates attending this course are experienced in a block-structured language such as Pascal, modern variants of Basic, Smalltalk, Ada etc. Delegates should be familiar with concepts such as functions or procedures, control flow, arrays, and structures or records. Knowledge of C is neither assumed nor required.
Reviews
Course programme
This course is designed for experienced programmers that need to write or maintain object-oriented C++ programs. The C++ programming language is a widely used powerful tool for producing modern object-oriented programs. This course guides experienced programmers through the complexities of writing and maintaining object-oriented programs in C++. It is fully up to date with the latest ISO standard for C++ and includes coverage of the important Standard Template Library. The course is spread over a five-day period and comprises of instructor-led presentations and practical hands-on exercises. The practical sessions are structured to give the delegates the opportunity to put into practice all of the language constructs covered during the instructor-led sessions. The delegates will be able to take away with them copies of all the code they have written, along with sample solutions and demonstration code.
Prerequisites
- It is assumed that delegates attending this course are experienced in a block-structured language such as Pascal, modern variants of Basic, Smalltalk, Ada etc.
- Delegates should be familiar with concepts such as functions or procedures, control flow, arrays, and structures or records.
- Knowledge of C is neither assumed nor required.
Objectives
- Delegates will be able to :
- Write, maintain and debug C++ programs
- Use dynamic memory
- Make effective use of the Standard Library including the Standard Template Library
- Write object-oriented code using encapsulation, inheritance and polymorphism.
- 1 delegate per computer
- Comprehensive colour course manual and exercises
- Use of a Modern Training suite with 19 inch flat screen monitors
- Lunch (When at our training venue)
- Refreshments (When at our training venue)
- Relaxed refreshment area at our training room
C++ Program Components
- Basic program components; functions, statements, file inclusion, input and output, keywords, variables, operators.
- Identifiers, fundamental data types and their operators, constants, operator precedence, conversions, casting, scope.
- Enumerations, data structures, aggregation, Standard Library string class.
- Boolean operators, conditional selection, iteration.
- Functional modularity, passing data in and out of functions, pass by value and reference, member functions, optimization with inline.
- Basic containers; arrays and the standard template library vector class, access through subscripting and member functions, C type strings.
- Object-orientation and classes, encapsulation, automatic construction, copying and conversions.
- Concept of indirection, null pointers, using pointers with functions and arrays, pointer arithmetic.
- Accessing the heap or freestore with new and delete, dynamic arrays, automatic destruction.
- Aggregation and association, delegation, managing custody of dynamic memory, copying custodial objects.
- Class operators, overloading with globals or members, lvalue operators, copy assignment.
- Working with the Standard Streams; file streams, manipulators, string streams.
- Introducing templates and the main Standard Template Library container classes; vector, deque, list, set and map.
- Guidelines on choosing the right container for the job.
- Using Iterators to access the elements of Standard Template Library containers, introducing the standard algorithms.
- Object-orientation and inheritance.
- Creating and using derived classes, vertical delegation, standard conversions.
- Declaring and using virtual functions and the need for virtual destructors.
- Pure virtual functions and abstract classes.
- Overview of some advanced features; exception handling, namespaces, multiple inheritance, smart pointers, template functions, extending the STL.
C++