Public Sector

We've had the pleasure of working with UK and overseas central and local government departments, including Healthcare (NHS and Foundation Trusts), Defence, Education (Universities and colleges), many of the main Civil Service departments, Emergency Services; also public-owned corporations including the BBC, Bank of England, Ordnance Survey, and regulatory bodies such as Ofgem.

We are registered on Crown Commercial Service’s (CCS) Dynamic Purchasing System (RM6219 Training and Learning) and also with numerous tender portals such as Ariba, Coupa and Delta E-Sourcing.

Read more...

Graduate Training Schemes

Framework Training has a strong track record of providing a solid introduction into the working world for technical graduates across myriad industries. We provide the opportunity to learn and gain valuable hands-on experience in a supportive, friendly and sociable training environment.

Attract & retain the brightest new starters

We know it is vital for our clients to invest in the future of their talented grads; not only to provide them with high-quality, professional training essential for their roles, but to embed them within the organisation’s culture and guide them on the right path to a successful career.

After all, your new hires could well be the next leaders and their creative ideas and unique insights are invaluable to your business.

Read more ...

Learning & Development

Our unique portfolio of high-quality technical courses and training programmes are industry-respected. They’re carefully designed so that delegates can seamlessly apply what they’ve learnt back in the workplace. Our team of domain experts, trainers, and support teams know our field — and all things tech — inside out, and we work hard to keep ourselves up to speed with the latest innovations. 

We’re proud to develop and deliver innovative learning solutions that actually work and make a tangible difference to your people and your business, driving through positive lasting change. Our training courses and programmes are human-centred. Everything we do is underpinned by our commitment to continuous improvement and learning and generally making things much better.

Read more...

Corporate & Volume Pricing

Whether you are looking to book multiple places on public scheduled courses (attended remotely or in our training centres in London) or planning private courses for a team within your organisation, we will be happy to discuss preferential pricing which maximise your staff education budget.

Enquire today about:

  • Training programme pricing models  

  • Multi-course voucher schemes

Read more...

Custom Learning Paths

We understand that your team training needs don't always fit into a "one size fits all" mould, and we're very happy to explore ways in which we can tailor a bespoke learning path to fit your learning needs.

Find out about how we can customise everything from short overviews, intensive workshops, and wider training programmes that give you coverage of the most relevant topics based on what your staff need to excel in their roles.

Read more...

C++ Programming Training Course

Learn to build real-world applications with the speed and power of C++

About the course

This isn't just a theoretical course; it's your hands-on gateway to mastering the fundamentals of this powerful and versatile language. You'll gain the core skills you need to begin building applications confidently across a multitude of platforms, from the familiar landscapes of Microsoft Windows and Linux to the cutting-edge world of IoT and DSP devices.

Right from the start, you'll become familiar with essential programming concepts and the very tools and processes that will seamlessly integrate you into your business's development flow. To support your learning, you'll receive a comprehensive, fully indexed manual – your go-to reference long after the course ends. Plus, you'll dive into hundreds of downloadable, practical code samples that bring the manual to life, allowing for in-depth exploration far beyond typical presentation-heavy courses. And to truly solidify your understanding and hone your newfound skills, you'll actively participate in numerous hands-on exercises that reinforce every concept.

We understand that your needs are unique. That's why this C++ training is highly adaptable. While our standard syllabus is a focused 5 days for existing developers, we can tailor it to your specific requirements, expanding up to 15 days for more in-depth training, such as graduate schemes. You'll have the opportunity to shape the curriculum to match your team's current skills, project goals, and learning objectives – even incorporating advanced C++ topics to ensure you get exactly the training you need.

We can tailor the content so that it will be suitable for beginners with little or no prior C++ knowledge through to experienced C++ programmers wishing to improve their knowledge.

Online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.

    • Write and execute C++ programs, mastering fundamental data types, operators, and flow control statements.
    • Design and implement robust functions, including overloading, default arguments, and various parameter passing techniques.
    • Manage memory effectively using dynamic allocation (new/delete) and modern C++ Smart Pointers to prevent common memory issues.
    • Apply Object-Oriented Programming (OOP) principles by designing and implementing classes, objects, constructors, destructors, and static members.
    • Build complex class hierarchies using inheritance and implement polymorphism through virtual functions and abstract base classes.
    • Adhere to S.O.L.I.D. principles to create highly maintainable, extensible, and well-structured C++ code.
    • Implement robust error handling using C++ exceptions and assertions for resilient applications.
    • Leverage the Standard Template Library (STL), including containers (Vectors, Maps, Lists) and algorithms, for efficient data management and manipulation.
    • Develop generic code using function and class templates to write flexible and reusable components.
    • Implement multithreaded applications in C++, managing thread creation, synchronization (mutexes, condition variables), and atomic operations for concurrent execution.
  • Programmers and Software Developers who are looking to develop C++ applications and system software or maintain existing an existing C++ codebase. The course is suitable for developers coming from other languages such as Java, C#, or Python who need to cross-train.

  • Some existing experience of programming or scripting in another language would be useful; previous experience of Object Oriented Programming is not mandatory.

  • This C++ course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).

    Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.

  • C++ Programs

    • Writing / editing c++ source code

    • Compiling and executing a program

    • Fundamental Data Types & Operators

    • Composite Data Types

    • Typedefs

    • Enumerations

    • Arrays

    • Structures

    • Unions

    • Bit Structures

    C++ Simple Data types and Expressions

    Flow Control statements

    Functions

    • Function Declarations

    • Calling Functions

    • Function Definition

    • Returning values using the return Statement

    • Function Overloading

    • Default Arguments

    • Passing Copied Parameters – By Value

    • Passing Referenced Parameters – By Reference

    • Calling Conventions cdecl, fastcall, stdcall & thiscall

    • Inline Functions

    • Scope of variables

    • Storage Class

    Dynamic Memory Allocation

    • The New & Delete Operators

    • Placement New Operator

    • Memory Leakage

    Pointers

    • pointers to char

    • nullptr

    • RAII

    • Smart Pointers (C++11)

    • Pointers to Arrays

    • Pointer Arithmetic

    • The void Pointer

    • Pointers to Functions

    Architectural Features

    • Namespaces

    • Header & Source Files

    Debugging C++ Programs

    Files in C++

    The Principles of OBJECT-ORIENTED Programming

    Classes & Objects

    • Class Implementation

    • Using Objects

    • Constructors

    • Destructors

    • Static Class Data Members

    • Static Class Member Functions

    The C++ Const Modifier

    Class Hierarchies & Inheritance

    • Deriving Classes

    • Public Private and Protected Inheritance

    • Protected Access

    • Base Class Initialisation

    • Multiple Inheritance

    Polymorphism

    • Virtual Functions

    • Virtual Destructors

    • Pure Virtual Functions

    • Abstract Base Classes

    S.O.L.I.D

    • Single Responsibility Principle

    • Open / Closed Principle

    • Liskov Substitution Principle

    • Interface Segregation Principle

    • Dependency Inversion Principle

    Advanced Casting Operators

    • static_cast

    • dynamic_cast

    • const_cast

    • reinterpret_cast

    Advanced Constructors & Operator Overloading

    • Copy Constructors

    • Move Constructors

    • Conversion Constructors

    • Operator Overloading

    Exception Handling

    • Exceptions

    • Assertions

    Standard Template Library

    • Vectors

    • Queues

    • Stacks

    • Lists

    • Maps

    • Multimap

    • Set

    • Iterators

    STL Algorithms

    • Templates

    • Template functions

    • Template classes

    Introduction to Lambda Expressions

    C++11, C++14, C++17, C++20 & C++23

    Multithreading in C++

    • Creating Your Own Threads

    • Starting Threads

    • Identifying threads

    • Start a Thread with a Lambda

    • Thread Synchronization Issues

    • Using a mutex

    • Exceptions and Locks

    • Automatic Lock Management

    • Recursive Locking

    • Timed Locking

    • Call once

    • Condition variables

    • Atomic Types

    Introduction To Design Patterns

    • Creational Design Patterns

    • Behavioural Design Patterns

    • Structural Design Patterns

    Introduction To Real Time Systems

    Operating System Calls

    • The Unix API

    • The Windows API

Trusted by

IBM company logo CAPITA company logo

Public Courses Dates and Rates

Please get in touch for pricing and availability.

Related courses