• Post category:StudyBullet-14
  • Reading time:11 mins read


Hands-on sessions – Features of C++11 | C++14 | C++17| C++20 and STL- Interview Perspective -Both Academics and Industry

What you will learn

OOPS real world entities with real world programs, STL, Exception Handling, RTTI, Templates.

Polymorphims-Operator & Function Overloading, virtual function,vtable and much more.

Inheritance and lots of more in depth.

Advanced features of C++ – C++11 with configuration setup on IDE.

Practical workshops on IDE for complete Course with access of complete source code.

Line to line explanation of each instruction for all the programs.

Description

  • This course covers C++ from very basic to more advanced features.
  • The course content is 34 hours.
  • Concepts of C++ programming are made very simple and easy.
  • Every lecture is discussed with programs and execution in IDE.
  • Every Topic is explained with Real life Examples.
  • This course also covers features of modern C++ 11/ C++14/ C++17/ C++20.

You will be learning concepts perfectly and also learn how to perfectly utilize features of C++. you will be confident to develop any type of Application using C++.

What will I learn?

  • Classes and Objects
  • OOPS concepts in detail.
  • Constructors
  • Destructors
  • Operator Overloading
  • Inheritance
  • Polymorphism
  • Abstract Classes
  • Function Overloading
  • Function Overriding
  • Friend Members
  • Static Members
  • Shallow Copy &Β Deep Copy
  • Assignment Operator
  • Copy Constructors
  • Explicit Constructors
  • Virtual Functions
  • Virtual Pointers
  • Virtual Table
  • Object Slicing
  • Templates
  • Exception Handling
  • RTTI
  • dynamic_cast, const_cast, static_cast, reinterpret_cast
  • I/O Streams
  • Sorting Algorithm
  • Searching Algorithm & other algorithms
  • Iterator
  • STL
  • Array, Vector, List, Deque Container
  • Map, Set, MultiMap, MultiSet
  • Unordered Map, Unordered Set, Unordered MultiMap, Unordered MultiSet
  • Adapter Container – Stack, Queue & Priority Queue
  • std pair
  • Functor

Why enrolling this Course will be the best decision for you?

1. You will get to know about Basic to Modern C++ and will be able to sync it with real time examples

2. You will be able to write C++ projects and will also be able to execute it on IDE

3. You will be able to develop skill power logical and verbal wise too.

4. You will be able to crack any interview in today’s IT Industry.

Are there any course requirements or prerequisites?

  • Computer running Microsoft Windows, Linux or Mac Operating systems.

Who this course is for:


Get Instant Notification of New Courses on our Telegram channel.

Noteβž› Make sure your π”ππžπ¦π² cart has only this course you're going to enroll it now, Remove all other courses from the π”ππžπ¦π² cart before Enrolling!


  • C Developers, C++ Developers, Java Developers, php Developers etc.
  • College Students/ Freshers, Trainers
  • In addition with all those who interested in cracking interview
  • Also Other Language Developers
  • Testers, Freelancers
English
language

Content

Introduction

Introduction

Overview of OOPS

Concepts of Class Object Encapsulation Abstraction Polymorphism
Friend function Constructor Destructor Static members & Static member function
Concept of Inheritance access specifier, member function definition with program
Explanation of Friend Function & Class with program execution and Pros & Cons

Constructor & Destructor with Program & Execution

Explanation of Constructor & Types of Constructors with program & execution
Concepts of Types of Copy Constructor
Shallow Copy Constructor with program & execution
Deep Copy Constructor with program & execution
Concepts of Destructor with program & execution
Explicit Constructor with program & execution
What is Initializer List and when to use it in Constructor

Polymorphism

Function Overloading (Compile Time Polymorphism) with program & execution
Use Cases of Function Overloading with Real Time Examples
Concepts of Operator Overloading
Operator Overloading with Program & Execution and Usage of Operators
Conversion Operator & Run Time Polymorphism with Program & Execution
Virtual Function – Early/Late Binding & Virtual Table & Virtual Pointer -Program
Assignment Operator vs Copy Constructor with Program & Execution

Operator Overloading

Pre-increment Post-increment & Array[] Operator Overloading with Program
Operator Overloading(->, <<, >>) Array Out of Bound Operator Overloading-Program

Virtual Functions

Virtual Function with Default Argument with Program & Execution
Interview Related Lecture on Virtual Function, Virtual Constructor/Destructor
Concepts of Object Slicing with Program

Inheritance

Access Modes of Inheritance with Program & Execution
Types of Inheritance & Diamond Problem with Program & Execution

IO System

Formatting Input Output System Using Members of ios Class with Program
Formatting Input Output System Using Manipulators with Programs & Execution

RTTI

RTTI – typeid with Runtime Polymorphism with Program & Execution
Concept of dynamic_cast – Casting Operator
dynamic_cast and Difference of typeid & dynamic_cast with Program & Execution
const_cast and static_cast and reinterpret_cast with Program & Execution
Assignment of Application of RTTI using typeid to Determine Count of Object

Exception Handling

Exception Handling Concept and keywords used to handle exception
Multiple programs for different scenerios of Exception with execution on IDE
Program & Execution of throwing exception of object of class, multiple catches
Handling derived class exception & how to define generic catch for all exception
Restricting exceptions with program and execution on IDE
Terminate and Unxpected – setting terminates and unexpected handlers

Templates

Function template & difference between function template & function overloading
Class Templates
Class Templates with default parameter
Class Function Template Specialization
Function Template with Static Variable
Class Templates with Static Variable

STL – Algorithms

STL Algorithms – Sorting
STL Algorithms – Searching
STL Algorithms – accumulate, reverse, itoa, stable partition
STL Algorithms – all_of and any_of algorithm
STL Algorithms -numeric_limits class template

Iterators

Introduction to Iterator & Types of Iterator
Random Access Iterator with program & execution on IDE
Iterator Bidirectionalterator Part3
Program & Execution of Iterator Bidirectionalterator
Iterator Forward Input OutputIterator Part5

STL Container

STL Container Introduction, types of container and array container
STL Array Container with program & execution Part1
STL Array Container with program & execution Part2
STL Vector Container
Vector Container with program & execution, push_back, pop_back, insert and erase
Vector Container to access vector elements through iterator and modify elements
Vector Container to create vector of objects with program & execution on IDE
Vector Container to check capacity, resize, shrinktofit, reserve with program
Vector Container to assign, swap, emplace, difference between array & vector
STL List Container
List Container for push_back, push_front,sort, reverse with program & execution
List Container for remove_if, splice with program & execution on IDE
Forward_list assign, push_front, emplace_front, insert_after, remove_if etc.
Forward List Container splice_after, swap, sort, = operator, merge, clear
STL Container Deque for push_front, push_back, swap, insert & range based loop
Set Associative Container
Set Container-insert, erase single element & erase range with program& Execution
Multiset-occurence of element, find, emplace, key_compare Program & Execution
Multiset Container – Occurence of Element, find, emplace, key_compare – Program
Map insertion using pair/erase/find/count/key_comp/value_comp/lower/upper bound
MultiMap insertion – pair/erase/find/count/key_comp/value_comp/lower/upper bound
Unordered Set – Insert/erase/find/count/clear/size/max_size/hash_function/swap..
Unordered MultiSet – Insert/erase/find/count/clear/size/max_size/hash_function..
Unordered Map – pair/erase/find/count/key_comp/value_comp/lower/upper bound
Unordered MultiMap – Insert/erase/find/count/clear/size/max_size/hash_function..
StringStream Class, Queue STL for push/pop/front/back – Program & Execution
Priority Queue for push, top, swap etc – Program & Execution
Stack for push, pop, top etc – Program & Execution

STL Utility Pair

Pair – Initialize pair, Methods of pair i.e. swap/tie/operators – Program

STL Functors

Introduction of Functor, Usecase of Functor, Pass by Values in Function
Add-On Information:

Alright, let’s talk C++. Specifically, this course: ‘Complete Beginner to Advanced C++ (C++11/14/17/20)’. As someone who’s been around the block a few times with C++ in various professional settings – from low-latency systems to backend services – I’ve seen my share of C++ courses. Most either scratch the surface or dive too deep into arcane corners without building a solid foundation. This one, however, seems to genuinely aim for a comprehensive, **beginner to advanced** trajectory, tackling the language from its OOP fundamentals right through to the latest standard features.

Overview

If you’re looking to not just learn C++ but truly *master* it for contemporary software development, this course appears to hit the sweet spot. It’s designed for anyone from an absolute novice who’s never seen a curly brace to a seasoned developer needing to update their C++ skills from, say, C++03 to **modern C++11/14/17/20**. What immediately caught my eye beyond the typical topic list is the strong emphasis on **”real-world entities with real-world programs”** and an explicit **”Interview Perspective.”** This tells me the instructors aren’t just teaching syntax; they’re teaching you how to think like a C++ developer in an enterprise context, preparing you for actual **job-ready skills**. The inclusion of **hands-on labs** with practical workshops on an IDE and access to complete source code is a massive plus, suggesting a learning experience that goes beyond passive video watching to genuine skill acquisition.

Prerequisites

Given the “Complete Beginner” tag, theoretically, you don’t need any prior C++ knowledge. However, to truly maximize your return on investment here, I’d suggest having at least a foundational understanding of programming logic. If you’ve tinkered with Python or JavaScript even minimally, or understand basic concepts like variables, loops, and functions, you’ll likely find the initial ramp-up much smoother. Absolute beginners might need to dedicate extra time to grasp core programming paradigms before diving into C++’s complexities. A decent computer and a willingness to set up an **industry-standard IDE** (like Visual Studio, VS Code with appropriate extensions, or CLion) are, of course, essential.

Skills & Tools

Upon successful completion, you should walk away with a robust set of skills and practical experience with key **industry-standard tools**:

  • Modern C++ Proficiency: Deep understanding and practical application of C++11, C++14, C++17, and C++20 features, crucial for contemporary development.
  • Object-Oriented Programming (OOP) Mastery: Ability to design and implement complex systems using OOPS principles like encapsulation, inheritance (including intricate details like vtables and virtual functions), and polymorphism (operator/function overloading).
  • Standard Template Library (STL) Expertise: Confident use of containers, algorithms, and iterators for efficient and robust code.
  • Advanced C++ Constructs: Hands-on experience with Exception Handling, Run-Time Type Information (RTTI), and Templates for generic programming.
  • Debugging & Problem Solving: Practical experience through line-by-line explanations and workshops in an IDE, fostering strong debugging capabilities.
  • Interview Preparedness: Specific insights into common interview questions and patterns for both academic and industry roles.

You’ll be working extensively within an **IDE**, configuring build environments, compiling, and debugging, which are indispensable practical skills for any developer.

Career Benefits & Job Roles

This course positions you extremely well for significant **career growth** in roles demanding high-performance and robust software. The comprehensive coverage, from basics to advanced, directly translates into **job-ready skills** sought after across various sectors.

  • Software Engineer/Developer: Entry to mid-level positions in application development, system programming, and backend services.
  • Embedded Systems Engineer: Given C++’s prominence in hardware interaction and performance-critical systems.
  • Game Developer: C++ is the backbone of most major game engines.
  • Quantitative Analyst/HFT Developer: For roles in finance requiring ultra-low latency and high-performance computing.
  • Performance Engineer: Understanding modern C++ features is key to optimizing existing codebases.

Beyond specific roles, the course’s focus on interview preparation will be invaluable for navigating technical screens, making it excellent for **certification prep** (if you choose to pursue one, though C++ certifications are less common than, say, Java or Python) and generally boosting your confidence in technical discussions.

Pros

  • Unmatched Modern C++ Coverage: Seriously, getting C++11 through C++20 in one integrated curriculum is rare and highly valuable. This ensures your skills are cutting-edge and relevant for today’s complex projects.
  • Deep Dive with Practical Application: The “line to line explanation,” “practical workshops on IDE,” and “complete source code access” aren’t just buzzwords; they promise a truly immersive, hands-on learning experience crucial for solidifying complex concepts.
  • Explicit Interview Focus: This is a game-changer. Learning *what* to code is one thing; understanding *how* to articulate it and solve problems under pressure, especially from an interview perspective, is often overlooked but critical for landing jobs.
  • Foundational to Advanced: For those truly starting from scratch, or needing a holistic refresher, the journey from OOPS fundamentals to advanced topics like RTTI and Templates, all grounded in “real-world programs,” provides a remarkably strong and comprehensive foundation.

Cons

  • Significant Time Commitment Required: While a “Complete Beginner to Advanced” course covering C++11/14/17/20 sounds fantastic, the sheer volume and depth of material means it will demand a substantial and consistent time commitment. Beginners might find the pace overwhelming if they don’t allocate ample time for practice and review outside of the core curriculum. This isn’t a quick sprint; it’s a marathon, and learners should manage their expectations accordingly regarding the effort involved to truly internalize all the concepts.
Found It Free? Share It Fast!