![]() |
www.jbinternational.co.uk sales@jbinternational.co.uk Call Free 0800 028 6400 |
JB International +44 (0) 20 8446 7555 |
Advanced C++ Programming Training Course UK
Advanced C++ Programming Training Course Overview
| Course Code: | CPP0040 |
| Price: | £1995 |
| Duration: | 4 Days - custom / on-site options available - please call. |
| Date: | |
| Who should attend: | Experienced C++ programmers, who are looking to gain advanced skills and programming techniques using C++ |
| Prerequisite Skills: | Attendance of our introductory C++ Training Course or equivalent experience. |
C++ is possibly the richest programming language in common use, and it allows programmers to write code using three distinct styles: procedural, object-oriented, and generic. This course is aimed to take C++ programmers to a new level of understanding and competence in their use of the C++ language and libraries. The course is divided into four parts: the first builds on existing knowledge, showing how to use basic language features correctly, and delegates will probably discover a number of things that they hadn't appreciated about the language and its use.
The second section of the course covers templates, the language feature that underlies the Standard Template Library and most recent advances in C++. It is not an exaggeration to say that a thorough understanding of templates is essential in order to be a modern C++ programmer.
The third part majors on OO development, and shows how popular idioms and design patterns can be implemented in C++. The final two sections look at the two main libraries used by C++ programmers today: the Standard Template Library and the Boost libraries. The course will introduce both libraries, discuss their main features, and show how to use them.
Unlike some "advanced" courses, this one does cover complex and advanced material. It is essential that delegates possess a good basic knowledge (and have practical experience) of OO programming in C++. As well as being comfortable with the basic syntax, you should be familiar with declaring, defining and using classes, inheritance, and dynamic memory management.
Course Content
Our hands-on Advanced C++ training course has been developed for real-world, commercial scenarios by our expert instructors. See below for detailed syllabus. If you have a technical question, please email
This course will provide delegates with programming best practises in object oriented application development using the C++ programming language. Practical exercises are used throughout, using simple text code editors to get a full understanding of what's going on under the bonnet, but IDEs such as Visual Studio, Eclipse are available too.
Advanced C++ Programming Course Outline
Part 1: Using Language Features Correctly
Const and Casting
- Const correctness
- Overloading on const
- C++ cast operators
- Mutable
Conversions and Scope
- Standard conversions
- Converting constructors
- User defined conversions
- Namespaces
- Koenig lookup
- Nested types
- Static
Proper Exception Handling
- Throwing and catching correctly
- Exception safe code
Memory Management
- The new handler
- Placement new
- Overloading new and delete
Part 2: Templates
Template Functions
- What are templates?
- Implementing template functions
- Template instantiation
Template Classes
- Creating a template class
- Class instantiation
- Non-type template parameters
- Specialization
Template Metaprogramming
- A brief introduction to metaprogramming
Part 3: C++ Idioms and Design Patterns
Implementing Value Types
- What are value types?
- Construction and destruction
- Copying and assignment
- Operator overloading
The Handle/body Idiom
- The Bridge design pattern
- Using Bridge to decouple compilation
- Implementing handle/body
Functors
- What are functors?
- Implementing functors using operator overloading
Smart Pointers
- What are smart pointers?
- Uses of smart pointers in C++
- Implementing a simple smart pointer
- Reference counting and smart pointers
- Std::auto_ptr
Singletons
- The Singleton design pattern
- A naïve implementation
- Problems with Singleton in C++
- Controlling Singleton lifetime
Policy-Based Design
- Efficient library design
- Mixing templates and multiple inheritance
- Policies and policy classes
Part 4: Standard Template Library
STL concepts
- Concept-based programming
- Containers, iterators and algorithms
Containers
- Sequence containers
- Associative containers
- Adapters
Traits
- The need for traits
- Implementation of traits in STL
Iterators
- The Iterator design pattern
- Iterator concepts in C++
- Iterators and containers
- Implementing and using iterators
- Stream iterators
Algorithms
- The STL standard algorithms
- Creating and using algorithms
Part 5: The Boost Libraries
Introduction to Boost
- What is Boost?
- Obtaining and installing Boost
- Overview of the Boost libraries
Common Boost Libraries
- boost::tuple
- boost::any
- boost::ref
- The Boost smart pointers
- boost::bind
Associated Courses
.NET 2.0 & 3.5 Programming with Visual Studio 2008 (C# / VB)
C++ Programming
Advanced C++
Programming Training Course
Visual C++ & MFC Programming Training
Java for
C++ Programmers
OO Analysis
& Design with UML
UK training course Listing
.NET Training Course UK | ASP.NET Training Course UK | Business Intelligence Training Course UK SOA Training Course UK| SOA for Developers and Designers Training Course UK | Oracle BPEL SOA Training Course UK | SOA & BPM Training Course UK | Agile Training Course UK | Agile Seminar UK | Web Services Training Course | PCI DSS / OWASP / Web Application Compliance Training Course | ASP.NET 3.5 PCI DSS / OWASP / Web Application Security Training Course | .NET Security Training Course UK | AJAX Training Course UK | ASP.NET AJAX Training Course UK Training Course UK) | .NET Compact Framework Training Course UK | advanced ASP.NET Training Course UK | .NET Technologies and architecture Overview Seminar | .NET Web Services Training Course UK | SharePoint Training Course | BizTalk Server Training Course | BizTalk Server Training Course | Internet Technologies Overview Seminar| XML Training Course UK | XSLT Training Course UK | OO Analysis & Design with UML Training Course UK | SQL Server Training Course UK (Programming) | SQL Server Training Course UK (DBA / Database Administration) | SQL Training Course UK | SQL Server Performance tuning Training Course UK | SQL Server Upgrade Training Course | JavaScript Training Course UK | DHTML Training Course UK | Oracle SQL Training Course UK | Oracle DBA Training Course UK | Oracle Forms Training Course UK | Oracle Reports Training Course UK | HTML Training Course UK | UNIX Linux Solaris Training Course UK | UNIX Fundamentals Training Course UK | UNIX Systems Administration Training Course UK | Advanced C++ Programming Training Course UK | C++ Training Course UK || Visual C++ & MFC Programming Training Course UK | Eclipse Training Course UK| Spring Training Course UK | Hibernate Training Course UK | Struts Training Course UK | JBoss Training Course UK | Oracle ADF Faces with JDeveloper Training Course| Java Training Course UK | Java EE PCI DSS / OWASP / Web Application Security Training Course | Java EE (JEE) Training Course UK | Advanced Java Programming Techniques Workshop | Java for C++ Programmers Training Course UK | Java Web Applications (JSP) Training Course UK | Java 2 Micro Edition (Java ME / J2ME) Training Course UK | Java Web Services Training Course UK | Java with Rational Application Developer (RAD) and WebSphere Training Course UK | J2EE with WebSphere - RAD Training Course UK | Java FX Training Course | Weblogic Training Course UK | PHP Training Course UK | Zend Framework Training Course | Python Training Course UK Adobe Flex Training Course | ActionScript Training Course | Adobe Integrated Runtime - AIR Training Course | iPhone Application Development Training Course UK | Delphi Training Course UK | Web 2.0 Training Course UK | Ruby on Rails Training Course UK | Flash Training Course UK | Flash Lite Training Course UK | Cloud Computing and Virtualisation Training Course UK | Business Process Analysis BPMN UML Training Course UK | Enterprise Architect Training Course UK | DB2 Training Course UK | zOS MVS JCL Training Course UK | TSO ISPF PDF Training Course UK | Microsoft Project: Enterprise Project Management (EPM) Training Course UK

