Modern C++ 11,14 And 17 Masterclass

C++
12
Mar
  • Soujanya
  • 9 (Registered)
  • (4 Reviews)

Course duration: 24 hours real time session + 10 hours monitored hands-on

Batches Available: Weekend & Weekday Batches

Ideal For: The course is intermediate to advanced in proficiency. It is suitable for the following:

>Programmers new in the area of Software Engineering that uses C++

>Developers embarking on projects using C++‐based techniques for their projects

>Professionals looking forward to upgrade the knowledge to apply skills

Post course benefits: Lifetime access to online repository, Mock interview support, project support

Recruitment support: eAgeIT will propose candidates of this program for any open opportunities with its client portfolio. We do not guarantee placement. This will be purely merit based support.

Description:

A perfectly designed and custom training which, focuses on designing and developing solving software requirement using C++ to enhance the skills required in every day programming challenge.

This makes it significantly different from most C++ courses by focusing on C++ internals above design principles. This customized training is backed up by a comprehensive coverage demonstrating the best practices in C++ standards 98/+03/+11/+14/+17.

Course Objectives:

  • To understand C++ internals with proven examples
  • Would be able to apply C++ skills to construct code for their project
  • Get an insight to develop C++ software in a systematic manner
  • Would be able to user C++ 11 & 14 & 17 extensions in software
  • Would be able to write secured code that cannot be easily exploited
  • Get an understanding of robust software design in C++

Pre-Requisites:

  • Delegates are desired to be aware of OOPS principals but it is not a mandatory

Detailed Coverage:

  1. C++ Introduction Timeline
    • Features of C++ (Revision)
    • Goals for C++ and TR11/14/17
  2. Build Essentials in C++
    • Monolithic build, scope, and translations to executables
    • Std 11/14/17 switchs and __cplusplus
    • Separately Translated Program and monolithic builds
  3. Programming Paradigms
    • Procedural Programming
    • Object-Oriented Programming
    • MDD, UML view, OOAD, SOLID
    • Relationships and Responsibility in OOPS
  4. Introduction to C++ Specific Features
    • Data Declaration and scope, Functions in C++: inline
    • default argument, Overloading, References, Namespaces
    • Inbuilt support for object oriented features
    • RTTI, exception handling, templates
    • Large-Scale Projects Are More Susceptible to Name Clashes
    • Koenig Lookup
    • Namespace Aliases
    • Namespace Utilization Policy in Large-Scale Projects
    • Namespaces and Version Control
    • Scope Resolution Operator Should Not Be Used to Designate Global Names
    • Standard Headers Names
    • Restrictions on Namespaces
    • Namespace std Can Not Be Modified
    • User-Defined new and delete Cannot Be Declared in a Namespace
  5. Classes and Objects
    • Representing Objects in C++
  6. Object members and special member functions
    • The initializations in C++ using constructor
    • OAD: C++ Object Implementation
    • How a compiler interprets Object
    • Special member functions
    • Constructors,Destructors
    • Copy and move Constructor
    • Assignment move in Operator
    • Blocking Object Copying
    • Designing a class around mutable, logical const
  7. Object Initialization & Cleanup
    • Compiler Synthesized Constructor & Destructor
    • Deep copy v/s Shallow copy
    • explicit constructor
    • Copy Constructor v/s Assignment operator
    • Initialization v/s Assignment
    • Order of Initialization
    • Aggregate initialization
  8. Class Members and Designing Software
    • Static data
    • Static methods
    • Object instance control and sharing
    • A minimal pattern study: singleton and its variance
    • lmitations, and extensions
  9. Memory management techniques in C++
    • Types of Storage
    • POD (Plain Old Data) and non-POD Objects
    • The Lifetime of a POD Object
    • The Lifetime of a non-POD Object
    • malloc() and free() Versus new and delete
    • new and delete
    • Allocating and Deallocating Arrays Using new[] anddelete[]
  10. Extending the Encapsulation in Design
    • Friend and classes
    • Object communication
    • Friend functions, Friend classes
    • Const objects and const member functions
    • Object composition & destruction mechanism
    • Boundary classes & object interfaces
  11. Overloading Operators
    • The operator function and its interpretation w.r.t object expressions
    • Using member functions & friend functions – when to use what
    • Implicit/explicit overloading mechanism
    • Returning objects & assignment operator
    • Overloading new & delete operators
  12. Special operator overloads: usage in STL as case study
    • operator == , operator [ ], operator ( ), operator –>, operator comma (,)
  13. Code Browsing and reverse engineering
    • CScope ,Cflow
  14. Objects in Hierarchy Design: Inheritance in C++
    • Example frameworks that are built on inheritance: QT, WX Widget
    • Specialization and Derived Classes
    • Generalization and Abstract class, interfaces
    • Types of inheritance
    • Single level, multi-level, multiple, hierarchical, hybrid
    • Inheritance – is it allocation or accessibility
    • The protected access specifier
    • Inheritance in private, protected & public mode
    • Constructors & destructors in a derived class
    • Multiple inheritance
    • Virtual Base class Invoking base class constructors
    • Why a constructor is not inherited
  15. Is-a & Has-a relationship
    • Nested classes & Containership
  16. Runtime Polymorphism, Virtual Functions & Dynamic Binding
    • Pointers to Class Members
    • Base class pointers & derived class objects
    • Virtual functions & base class pointers
    • Virtual functions & base class reference
    • Dynamic Binding v/s Early Binding
    • Pure virtual functions
    • Virtual destructors
    • Abstract classes & applications
  17. Runtime Type Identification & Casting Operators
    • Runtime Polymorphism & RTTI
    • typeid & type_info
    • dynamic_cast, const_cast, static_cast, reinterpret_cast
  18. Templates in Depth
    • Implicit instantiation
    • Explicit instantiation
    • Specialization: complete and partial
    • Function Templates
    • Class Templates
    • Declaration of a Class Template
    • Instantiation and Specialization
    • Explicit Specialization of a Class Template
    • Specializations of Class Template Functions
    • Template Arguments
    • Default Type Arguments
    • Static Data Members
    • Friendship
    • Function Templates
    • Performance Considerations
    • Type Equivalence
    • Avoiding Unnecessary Instantiations
    • Explicit Template Instantiation
    • Interaction with Other Language Feature
  19. The Design of STL for handling Modern and Complex Data handling
    • Containers, Algorithms, and iterators
    • Using STL/STD Containers
    • Using Algorithm and iterators with STD
    • Exploring various containers, iterators and algorithms
    • Vector, List, Map, Set
    • Array, tuple, unordered_map, unordered_set
  20. Language Feature extensions
    • Initialization, Initializer lists
    • Uniform initialization
    • Move Semantics
    • Lambda
    • Auto, decltype, trailing return type, auto vs. decltype
    • Range-based for loop ,static_assert, constexpr functions/data, Inline namespaces
  21. Concurrency in C++
    • STD Threads Passing, arguments to threads
    • Data lifetime considerations, Synchronization with mutexes and locking
    • Acquiring multiple locks, mutex types
    • Returning values from threads using futures and async, Launch policies
    • Condition variables, Thread-local storage.

 

Enroll Now

Course Content

Total learning: / 1 quiz Time: 3 days

Instructor

4.8

4 rating

5 stars
75%
4 stars
25%
3 stars
0%
2 stars
0%
1 star
0%
  • Srimallikarthik Grandhi

    Great Course

    Instructors at E-age were in this business for more than a decade. Their focus since i knew had been creating better people. Animesh in particular made a very positive impact on thousands of individuals in their careers. All the best e-Age Team!
  • Prakash A

    Best in the Industry

    Trainer is great speaker. It was interesting to listen. Course was great!
  • Koyal M

    Learning at Ease

    The way he explains things is really awesome. Comparison given with real world coding is excellent.
Free

Customized, Immersive, Hands-On Driven

INR 55000/-

INR 35000/-

Includes

  • Real time virtual classes
  • Pre course reading material
  • Suppliment resources
  • Language: English
  • Certificate of completion

Enroll Now

Your Dream Course Is Only A Step Away





Your Dream Course Is Only A Step Away





Your Dream Course Is Only A Step Away