C++ Programming for C Programmers — A 4 day course
This in-house course is designed to give a solid grounding in the key aspects of C++ and the Standard Template Library (STL) to those who already have experience of programming in C or a similar language.
Where there is no background in C we recommend our Introduction to C++ Programming course instead, as that course also covers the elements of C that are applicable to C++.
The course covers all of the important features of the language, ensuring an understanding of the principles which underpin the design of effective, high-quality delivered software.
The course is based on many years' experience of teaching C++ and avoids the common pitfalls which less mature courses often stumble across. We focus on the needs of day-to-day users of the language who will have to not only use existing libraries of classes but also to understand the mechanisms used in the implementation of those libraries.
C++ contains a number of features which, although fascinating from a technical point, are not directly relevant to developing a useful degree of competence with the language. Depending on the likelihood of encountering these, they are either deferred to an advanced course or covered in enough depth to ensure a reading ability only.
The course takes a pragmatic approach to the use of Object Orientation. Examples are carefully chosen to lead students naturally to the concepts of Object Based and Object Oriented programming without being dogmatic about whether these techniques are essential in every case.
The course ensures that delegates understand what is necessary to both design and use C++ classes in the production of high-quality software. The course is designed with programmers in mind and it concentrates on building students' C++ skills as quickly as possible.
Background to C++
- User-defined types
- The Standard Template Library
- Private and public members
- Member functions
- Static Members
Further Techniques with Functions
- Default Arguments
- New and delete
- Object copying
- Copy constructor
- Assignment operator
- The this pointer
- Simple inheritance
- Object slicing
- Base initialisation
- Virtual functions
- NB: this is a brief introduction
- Operator functions
- I/O operators
- Member operators
- Template classes
- Declaration and instantiation
- Template functions
Standard Template Library
- Namespaces reviewed
- Other types
- Simple use
- Exceptions and derived classes
- Function exception declarations
- Unexpected exceptions
- Exceptions when handling exceptions
- Resource capture and release
- Exercise and review
Worked solutions to all exercises
Programmers and designers who already have fluency in C (or who have attended the introductory C basics course) and who now wish to gain a solid understanding of the use of C++ for software development.
Practical experience of software development
Familiarity with procedural programming concepts