Course Code: mos112
Duration: 35 hours
Prerequisites:

Minumum of 1 year experience on C++
 

Overview:

This is an advanced C++ training course focusing on object-oriented (OO) software development and design with the C++ programming language. 

Course Outline:

Module 1

  • Intro + References
  • Basics
  • Workshop Basics
  • Overloading
  • What can we overload, and how.
  • Extra C++ Types (bool & reference)
  • Workshop overloading
  • OOP 
  • Quick introduction to Oop
  • Classes
  • Structs
  • Access Modifiers
  • Constructor
  • default/delete functions
  • initializer syntax / constructor initialization list
  • Workshop classes
  • Memory
  • Classical memory interaction
  • Workshop Memory

Module2

  • Inheritance
  • Construction
  • Polymorphism
  • Virtual, pure virtual, abstract, interface
  • Access modifiers
  • Workshop Inheritance (Shapes)
  • Exceptions
  • What are they
  • How do they work
  • What to throw and what to catch
  • Workshop exceptions
  • Memory exhaustion
  • How it’s notified
  • How to handle
  • Modern Memory Management
  • RAII
  • Templates applied to Modern Memory Management (SmartPointer)
  • Standardized C++11 SmartPointers
  • Nullptr
  • Workshop SmartPointers
  • Namespaces
  • Workshop Namespaces

Module3

  • Auto
  • The new auto keyword
  • The new auto return syntax
  • enum
  • New style enums
  • constexpr
  • New constant expressions
  • About constness
  • Const and Mutable explained
  • Lambdas & function objects
  • Classes that act like functions
  • Introduction lambda functions
  • Chrono
  • n introduction to the new Chrono library

 Module 4

  • Casting
  • Standard library
  • String
  • Containers
  • Vector (vs)
  • List
  • Map
  • Array
  • Tuple
  • Initializer lists
  • Iterators
  • range-for syntax
  • Std Algorithms
  • Streams
  • Miscellaneous Keywords
  • static
  • explicit

Module 5

  • Move semantics
  • Introduction to L/R values
  • R-value-references applied to move semantics
  • Type Traits
  • Obtaining information on compile time
  • Concurrency
  • Introduction to C++11’s Threading, async/future and atomic types implementation
  • Variadic templates - An introduction to C++11’s variadic templates
Sites Published:

United Arab Emirates - Advanced C++ Software Design

Qatar - Advanced C++ Software Design

Egypt - Advanced C++ Software Design

Saudi Arabia - Advanced C++ Software Design

South Africa - Advanced C++ Software Design

Brasil - Advanced C++ Software Design

Canada - Advanced C++ Software Design

中国 - Advanced C++ Software Design

香港 - Advanced C++ Software Design

澳門 - Advanced C++ Software Design

台灣 - Advanced C++ Software Design

USA - Advanced C++ Software Design

Österreich - Advanced C++ Software Design

Schweiz - Advanced C++ Software Design

Deutschland - Advanced C++ Software Design

Czech Republic - Advanced C++ Software Design

Denmark - Advanced C++ Software Design

Estonia - Advanced C++ Software Design

Finland - Advanced C++ Software Design

Greece - Advanced C++ Software Design

Magyarország - Advanced C++ Software Design

Ireland - Advanced C++ Software Design

Luxembourg - Advanced C++ Software Design

Latvia - Advanced C++ Software Design

España - Diseño Avanzado de Software C ++

Italia - Advanced C++ Software Design

Lithuania - Advanced C++ Software Design

Nederland - Advanced C++ Software Design

Norway - Advanced C++ Software Design

Portugal - Advanced C++ Software Design

România - Advanced C++ Software Design

Sverige - Advanced C++ Software Design

Türkiye - Advanced C++ Software Design

Malta - Advanced C++ Software Design

Belgique - Advanced C++ Software Design

France - Advanced C++ Software Design

日本 - Advanced C++ Software Design

Australia - Advanced C++ Software Design

Malaysia - Advanced C++ Software Design

New Zealand - Advanced C++ Software Design

Philippines - Advanced C++ Software Design

Singapore - Advanced C++ Software Design

Thailand - Advanced C++ Software Design

Vietnam - Advanced C++ Software Design

India - Advanced C++ Software Design

Argentina - Diseño Avanzado de Software C ++

Chile - Diseño Avanzado de Software C ++

Costa Rica - Diseño Avanzado de Software C ++

Ecuador - Diseño Avanzado de Software C ++

Guatemala - Diseño Avanzado de Software C ++

Colombia - Diseño Avanzado de Software C ++

México - Diseño Avanzado de Software C ++

Panama - Diseño Avanzado de Software C ++

Peru - Diseño Avanzado de Software C ++

Uruguay - Diseño Avanzado de Software C ++

Venezuela - Diseño Avanzado de Software C ++

Polska - Advanced C++ Software Design

United Kingdom - Advanced C++ Software Design

South Korea - Advanced C++ Software Design

Pakistan - Advanced C++ Software Design

Sri Lanka - Advanced C++ Software Design

Bulgaria - Advanced C++ Software Design

Bolivia - Diseño Avanzado de Software C ++

Indonesia - Advanced C++ Software Design

Kazakhstan - Advanced C++ Software Design

Moldova - Advanced C++ Software Design

Morocco - Advanced C++ Software Design

Tunisia - Advanced C++ Software Design

Kuwait - Advanced C++ Software Design

Oman - Advanced C++ Software Design

Slovakia - Advanced C++ Software Design

Kenya - Advanced C++ Software Design

Nigeria - Advanced C++ Software Design

Botswana - Advanced C++ Software Design

Slovenia - Advanced C++ Software Design

Croatia - Advanced C++ Software Design

Serbia - Advanced C++ Software Design

Bhutan - Advanced C++ Software Design

Nepal - Advanced C++ Software Design

Uzbekistan - Advanced C++ Software Design