Modern C++

Eligibility: BE, B.Tech, ME, M.Tech

Intermediate

Overview

C++ Certification

Description

Do you want to make your career in IT? C++ Certification is the right place for you!

This certification course will help you learn how to write programs using C++. It’s a great way to get started in the world of software development. C++ is one of the most popular programming languages in the world. It’s used to develop everything from video games to operating systems, and it’s essential if you want to be a successful programmer.

C++ Online Course with Certificate is designed to be taken by anyone with a basic understanding of programming and computer science concepts. You’ll learn how to write in C++, including variables, loops, and input/output functions. The course will also teach you about object-oriented programming, so you can start building your own programs in C++.

Add a +plus to your dreams

  • To gain an understanding of Object-Oriented Programming using C++ features and their uses in developing applications.
  • Understand the internals of C++ programming
  • To give participants the confidence to apply these concepts to their next C++ project.

Course Content (Syllabus)

  • Strict type Checking of C++.
  • Compulsory return type.
  • The compulsory return value in non-void functions.
  • Compulsory Function Declaration / Prototyping.
  • Function Overloading
  • Polymorphism: Compile time Polymorphism using Function Overloading.
  • Default Arguments
  • Ambiguity in Function Overloading
  • Inline Functions
  • Comparison: Inline Function and Macro with Arguments.
  • Function Pointer
  • Call back Functions
  • Modern C++ Features
  • Lambda
  • Argument Passing  to Lambda
  • Returning Value from Lambda
  • Lambda Capture Clause –
  • Capture by Read-only and
  • Capture by Reference

  • Function Template – Writing Generic Functions
  • Template Instantiation
  • Overloading a Function Template
  • Template vs Macros
  • C++ Algorithms

 

  • Swap
  • Min
  • Max
  • Sort
  • Sort – Custom Sorting using Predicate Function (Call back)
  • Sort – Custom Sorting Using Lambda
  • max_element
  • min_element
  • Find
  • Find_if – using Predicate Function and using Lambda
  • binary_search
  • Count
  • Count_if – using Predicate Function and using Lambda
  • Copy – (memcpy vs copy will be discussed after the concept of Constructor)
  • fill- (memset vs fill will be discussed after the concept of Constructor)

  • Defining Classes
  • Defining Member: Data Members and Member Functions
  • Access Specifier
  • Defining Member Functions Outside the class
  • Creating Object
  • Accessing Members using Object.
  • Memory allocation of objects
  • This Pointer
  • Implementation of Encapsulation, Abstraction and Data Hiding.

  • Constructor
  • Need for a Constructor
  • Types of Constructors 

 

  • Default Constructor
  • Parameterized Constructor
  • Copy Constructor

 

  • Destructor
  • Dynamic Memory allocation using new And delete
  • Shallow Copy And Deep Copy
  • Copy Constructor
  • Explicit Specifier 
  • Use of Valgrind utility to understand memory leakage.  
  • Writing programs to avoid memory leaks by writing appropriate code in destructors.
  • Lvalue and Rvalue Reference – Revisit
  • Move Constructor
  • Move Assignment Operator
  • Deleted Functions

  • Constructor
  • Need for a Constructor
  • Types of Constructors 

 

  • Default Constructor
  • Parameterized Constructor
  • Copy Constructor

 

  • Destructor
  • Dynamic Memory allocation using new And delete
  • Shallow Copy And Deep Copy
  • Copy Constructor
  • Explicit Specifier 
  • Use of Valgrind utility to understand memory leakage.  
  • Writing programs to avoid memory leaks by writing appropriate code in destructors.
  • Lvalue and Rvalue Reference – Revisit
  • Move Constructor
  • Move Assignment Operator
  • Deleted Functions

 

  • Static Data Members
  • Difference between Static Members and Global Members
  • Static Member Functions
  • The correct way to Access Static Member Functions.
  • Const Members
  • Usage Of Initializer List for Const and Reference Members
  • Const Member Functions
  • Mutable type specifier

  • Operator Overloading
  • Rules of Overloading 
  • Overloading Unary and Binary Operators

 

  • Overloading Arithmetic Operator
  • Overloading Relation Operator
  • Overloading = Operator 
  • Overloading >> (extraction) and << (insertion) Operators

 

  • Operators that cannot be overloaded
  • Operators that can be overloaded only using Member Functions.

 

STL algorithms revisit:

  • Sort: Sorting of user-defined (class) type objects.
  • Max, max_element 
  • Find
  • Fill – Understand the difference between memset and fill
  • Copy – Understand the difference between memcpy and copy

  • Smart Pointers: 
  • Unique_ptr 

 

  • Transfer Ownership using move
  • Deleted Functions – Copy Constructor and Assignment Operator
  • Release/Delete the object using the reset
  • Make_unique

 

  • shared_ptr 

 

  • Number of references using use_count
  • Release the object using reset.

  • Inheritance [Generalization]
  • What Is Inheritance and its Needs
  • Access Modes Of Inheritance
  • Types Of Inheritance
  • Single and Multilevel
  • Constructor And Destructor in Inheritance
  • Passing parameters to base-class constructors from a derived class constructor.

 

  • Describe Binding
  • Purpose of going for run time polymorphism
  • Virtual Functions
  • Using Virtual function to implement dynamic binding
  • Using Virtual function and inheritance to achieve late binding
  • VTABLE
  • Virtual destructors
  • Pure virtual function
  • Abstract classes

  • Modern C++ Features 

 

  • Explicit overrides 
  • Restricting a class from further inheritance using final. 
  • Restricting a function from further overriding using final. 

  • Understand what is an exception
  • Handling exceptions using try and catch block
  • Raise an exception.
  • Raising an exception from catch block – rethrow
  • Generic Exception
  • Built-in exceptions

  • Define RTTI 
  • Runtime type-identification using type ID
  • Using type ID with reference types 
  • Casting operators 

 

  • Static Cast 
  • Dynamic Cast 
  • Const Cast 
  • Reinterpret Cast 

    • Template Classes
  • Sequence Containers: 

 

  • Vector

 

  • Insertion and Deletion at rear
  • Iterator to Vectors
  • Traversing Elements of Vector 

 

  • Traversing using traditional for loop
  • Traversing using Range-based for loop
  • Traversing  using Iterators

 

  • Arithmetic and Relational Operators support with vector
  • Insert/Delete an element  in between
  • Vectors with Class Types
  • Using vectors with STL algorithms  

 

  • List

 

  • Insertion and Deletion at front and rear
  • Iterator to List
  • Traversing Elements of List

 

  • Traversing using Range-based for loop
  • Traversing  using Iterators

 

  • Arithmetic and Relational Operators support with a list
  • Insert/Delete an element  in between
  • Lists with Class Types
  • Using Lists with STL algorithms
  • STL algorithms which can be used with List
  • STL algorithms cannot be used with List and the reason for it.

 

Associative Containers: 

  • Set, Multiset
  • Map, multimap

 

Container Adapters: 

  • Stack
  • Queue
  • Priority Queue

 

Modern C++ Containers

  • Forward_list
  • Unordered_set, unordered_multiset 
  • Unordered_map, unordered_multimap

 

  • Stream Objects Types : ifstream, ofstream, fstream
  • Opening a file
  • Reading data from file
  • Writing data to file
  • Get and Put Stream Positioning :seekg, tellg, seekp tellp
  • Working with Binary files: read and write

  • Thread Creation
  • Thread creation using global function
  • Thread creation using member function
  • Waiting for a thread to complete
  • Argument passing to the thread by value
  • Argument passing to the thread by reference (ref)
  • Multiple threads running parallel
  • Data sharing and Race Condition
  • Fixing Race condition using Mutex
  • Lock_guard
  • Future and Promise

 

FAQs

Yes, Cranes Varsity training is available through online

Our Online training is Instructor-Led live online sessions

Yes, we will provide training course material for each module

Yes, we offer weekend classes as well evening classes.

Testimonials

Downloads

Duration: 1.5 months

Enquire Now

Please Sign Up to Download

Enquire Now

Enquiry Form