On-line training course catalogue
C++ for C Programmers
Type of course: Classroom
| Fee | £1495 |
|---|---|
| Days | 4 |
| Course code | CCPROG |
We currently do not have public dates scheduled for this course.
If you have a requirement for this course, please contact us for the latest course information.
Print this page | Download as Word document |
Overview
This course is designed to teach C++ to C Programmers. ISO standard C++ is a general-purpose language that bridges different styles of programming and spans different platforms and different application styles. This course presents C++ by building from C and embracing modern C++ techniques. It develops the concepts and syntax through lectures, discussion and hands-on lab exercises.
The course is suitable for experienced C programmers. Previous knowledge of object-oriented concepts is advantageous but not required.
Prerequisites
Delegates should have experience of C Programming. Previous knowledge of object-oriented concepts is advantageous but not required.
Delegates will learn how to
- Program in C++ from a C perspective and appreciate some of its more advanced features
- Understand object-oriented and generic programming in C++
- Use good practice and outline idioms for safe and sensible use of language features
Outline
C++ programming styles
- Characterising modern C++
- The role of objects and polymorphism
A brief tour
- Differences from C; classes
- Templates
- STL and the standard library
Simple data types
- Alternative initialisation and cast syntax
- Pointer conversions
- The bool type
- Compile-time constants with const
- Tags and type names
Convenient library
- The library and namespace std
- Using string, vector and map types
Functions
- Pass by reference and const reference
- Guidelines on argument passing
- Overloading and default arguments
- Operator overloading
- Inline functions
Control flow
- Declarations for loops and conditions
- Try, throw and catch
- Exception safety
Dynamic memory management
- Type-safe allocation and deallocation with new and delete
Classes and objects
- Encapsulation
- Classes, member functions and data
- Public and private
- Const member functions
- Class versus struct
- The this pointer
Object relationships
- Delegation and forwarding
- Composition and association
Construction and destruction
- Constructors and destructors
- Dfault constructors
- Member initialiser lists
- Construction and destruction order
VALUE OBJECTS
- Conversions for value objects
- Explicit;
- Default copying
- Copy constructors
- Member and non-member operators
- Copy assignment
- Copy prevention for non-value types
Exception Objects:
- Using objects for exceptions
- Safe copy assignment
- Safe resource release
Templates
- Generic programming
- Function templates
- Class templates
- Templates in the standard library
- auto_ptr for exception safety
- Managing long type names
Containers:
- The standard sequence containers
- The standard associative containers
Iterators:
- Iterator categories
- Container iterators
- Iterator and const_iterator
- Stream iterators
Algorithms:
- Sorting, searching and copying ranges
- Refactoring loops with generic algorithms
Function Objects:
- Using function objects with algorithms
- Adapting associative containers
Interface-Based Programming:
- Interface classes and pure virtual functions
- Virtual destructors
- Implementing interfaces with public derivation and overridden functions
- Multiple base classes
Inheritance-Based Programming:
- Generalisation, specialisation and substitutability
- Astract classes with some implementation
- Protected
- Base-class construction
- RTTI
- Exceptions
Link to this page: http://www.xpertise.co.uk/CCPROG
Xpertise – C++ for C Programmers training courses
Xpertise provides C++ for C Programmers training courses from 7 UK locations: in Altrincham Manchester, Hinckley East Midlands, Leeds Yorkshire, London King William Street, Maidenhead Berkshire, Malmesbury Wiltshire and Washington Tyne & Wear – and at 44 partner locations nationwide.
Xpertise Training reserves the right to improve the specification and format of its courses for the benefit of its customers without notice to the customer.
