Modern C++
Intermediate
Overview
C++ Certification Course
Description
Cranes Varsity is here to help you do just that with our Embedded C programming course. It’s time to take your C programming skills to the next level.
Candidates for embedded system certification will also be given the information necessary to enhance their capacity to design at the systems level and their approach via integrated projects. The certification aims to improve your knowledge, working efficiency, and competitiveness.
Do you want to make your career in IT? C++ Certification Course is the right place for you!
This 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++.
Features of C++
- 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.
C++ Certification Course Content (Syllabus)
Module 1 – Introduction to C++
- Introduction to C++ – History, Features, Standards
- Sample C++ Program
- Difference between .h and non-.h version of the header file
- Console I/O [cout, cin]
- Std::
- Namespaces
- Using namespace std;
- Variable Declaration: Flexible Variable Declaration.
- New Data types : Bool , String
- Typecasting : C Style / C++ – Function Style / C++ – static_cast
- Reference Variables
- How to create references
- When & symbol is used as Address-of, bitwise AND and Reference Operator.
- Compare References with Pointers
- Use of Reference in Function Parameters
- Comparing: Call By value, Call-by Address and Call-by Reference
- Lvalue and Rvalue
- Constant References
Module 2 – Functions in C++
- 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
Module 3 -Generic Programming with Function Template
- 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)
Module 4 – Class & Object
- 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.
Module 5 – Constructor and Destructor
- 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
>Module 5 – Constructor and Destructor
- 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
Module 7 – Operator Overloading and Friend Functions
- 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
Module 8 – Smart Pointers
- 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.
Module 9 – Inheritance
- 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.
Â
Module 10 – Run time Polymorphism
- 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.Â
Module 11 – Exception Handling
- 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
Module 12 – RTTI
- Define RTTIÂ
- Runtime type-identification using type ID
- Using type ID with reference typesÂ
- Casting operatorsÂ
Â
- Static CastÂ
- Dynamic CastÂ
- Const CastÂ
- Reinterpret CastÂ
Module 13 – Template Classes and STL Containers
-
- 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
Â
Module 14: FILE I/O
- 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
Module 15: Multithreading
- 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
Â
Placement Statistics
C++ Certification Course FAQs
Who should learn a C++ Course?
Candidates should have passed class 12th or equivalent from a recognized board or university with basic information of pc.
How soon after Signing up would I get access to the Learning C++ Course?
Approximately After 1 month.
How do I get C++ Certification?
By joining to embedded course candidate will get learn C++ after completion he will get a certificate.
Can I get a job with a C++ Certificate?
Yes, you can get a job with a C++ certificate. In fact, C++ is a great language to know if you’re looking for a job in the tech industry. It is powerful, versatile, and widely used in both desktop and enterprise applications. If you’re looking to make a career change or are just starting out in your programming career, a C++ certificate is a great way to get started.
Testimonials
Ankita Saigal
Placed in Robert Bosch
First of all, I would like to extend my thanks to each and every member of Cranes Varsity. We were taught from the very basics of Embedded Systems Design which made it easier for students from all levels. I would like to extend my vote of thanks to cranes varsity to provide me with numerous opportunities.
Santhosh SM
Placed in L&T Technology
Cranes are one of the top embedded training institutes in Bangalore. It has been a wonderful learning experience in Cranes Varsity. The training in every module of embedded systems at Cranes was effective. It provides a good platform for embedded systems. Cranes helped me get a job in the embedded industry.
Mayur MN
Placed in L&T Technology
It was a great experience in Cranes. My dream was to get into the embedded domain. As a fresher, it is difficult to get into the Embedded Design field, but Cranes made a huge difference in my career by giving the best training and placement assistance provided by Cranes. I would like to say Cranes is the best to choose for those who dream of embedded opportunity.
Chandru V
Placed in Avin Systems
I take this opportunity to thank “CRANES VARSITY”, one of the best-embedded training institutes which are helping students to get into the best company to build their career. I thank all the trainers who enhanced my knowledge in every subject and the placement team for giving me the best opportunities in the field of embedded. Thank you for all your support.
Hemanth Kumar
Placed in Caravel Info Systems
Cranes varsity is the best Embedded Training Institute to learn both practical and theoretical knowledge. It is the best place to gear up your career in a core embedded industry. Management and faculty member support till you get placed. They provided lots of opportunities to me. The embedded Course modules that we learnt here are systematic, and I immensely earned great knowledge.
Ankit Ahalawat
Placed in AK Aerotek Software
I am happy for Cranes for giving a platform and providing opportunities for attending the interview. Modules test, Mock test really helps to clear any company written test/ interview. Trainers were excellent at explaining and clarifying the doubts. I am very thankful to Cranes Varsity.
Nithin G
Placed in Moschip Semiconductor
Cranes varsity is the best platform to improve your technical skills in Embedded System Design. Their dedication towards teaching modules and interaction with the students is commendable, which made me achieve good skills for my career growth in the electronics/semiconductor industry.
Amitha Pankaj
Placed in Lekha Wireless
Happy to say that I am placed in Lekha Wireless. Cranes are one of the best Embedded Training Institutes. The way of teaching in Cranes is good. I thank the management and faculty for the guidance and opportunity.
Sidharth S
Placed in L&T Technology
If not Cranes, I would have been doing a job of not my interest and passion. Cranes provided me with the platform to start my career and knowledge about corporate life and requirements. “Thank you, Cranes” would be an understatement.