DEV Community

Cover image for C++ complete roadmap
Manak Upadhyay
Manak Upadhyay

Posted on

C++ complete roadmap

Let's jump in!

If you are a beginner I will suggest you to make a time table of at least 45 days which will be sufficient in order to get a really good understanding of C++. Now, you can break your 45 days into 6 weeks and start with the concepts.

1st Week: Now, these seven days will introduce you to something that you have no previous knowledge of. So make sure you understand the foundations well and give a kickstart to the world of programming.

  • What is C++?
  • It’s history and features.
  • Understanding and writing our first Hello World program in C++.
  • Tokens
  • Variables, Datatypes.
  • Keywords
  • How to take input from the user?
  • Operators
    • Arithmetic Operators.
    • Logical Operators.
    • Relational Operators.
    • Other operators.
  • Selection Statements
    • if statements
    • if-else
    • else-if
    • switch

2nd Week: Now you have understood the basic units of a program well. Its time to take a step forward. So, schedule yourself to learn the following topics.

  • Loops
    • for loop
    • while loop
    • do-while loop
  • Jump Statements
    • goto
    • break
    • continue
  • Comments.
  • Arrays
    • One-Dimensional Array.
    • Two-Dimensional Array.
  • Strings.

Now, start solving some problems on these topics, so that you get a good grip on them.

3rd Week: It’s time to start functions and play with pointers.

  • Functions
    • Call by value.
    • Call by reference
    • Function Overloading.
    • Inline functions.
  • Pointers: Now this is a topic that most of the students find difficult. But believe me, it’s a myth. If you will understand the basics of pointers well, you will surely love C++, as it is one of C++’s coolest features. So get a hold on them.
  • Relation between Pointers and Array.
  • Array to Functions.
  • Structures.

As I said, solve problems to check your understanding.

4th Week: Now, these topics are asked everywhere like Interviews, practical exams, etc. So don’t make haste and understand them in depth.

  • Classes and Objects.
  • this keyword, static keyword, Friend Functions.
  • Constructors.
    • Default Constructor.
    • Parametrized Constructor.
    • Copy Constructor.
  • Destructors.
  • Concepts of Object-Oriented Programming(OOP).
    • Abstraction.
    • Encapsulation.
    • Inheritance.
    • Polymorphism.
    • Data Hiding.

Practice problems on these concepts.

5th Week:

  • Inheritance
    • Types of Inheritance.
    • Derived and Base class.
    • Access Specifiers.
  • Polymorphism.
    • Compile Time Polymorphism.
    • Overloading.
    • Overriding.
  • Run Time Polymorphism.
    • Virtual Functions.
    • Operator Overloading.
  • Exception Handling.

Practice, practice, and practice.

6th Week: Get familiar with:

  • Templates.
  • Data File Handling.
  • Macros.

That’s it. After learning the above topics you can stand anywhere and say I know C++. :)

Most Important Tip: You will face problems while learning some concepts, but please don’t quit. Because everybody faces them and it’s totally OKAY. Give yourself time and jump to that topic again cause this is how things work in the world of programming.

Happy Coding:)

Top comments (2)

Collapse
 
denim06111991 profile image
denim06111991

Can we get in touch to discuss more on a book that we are planning to update?

Collapse
 
manak profile image
Manak Upadhyay

Sure.
My email is upadhyaymanak@gmail.com