Skip to content
My Subject Hub

Online C++ course: from your first compiled program to pointers and classes

C++ gives you control over how a program uses memory, which is why so many university programming, OOP and data structures courses use it. You learn it step by step, live and one-to-one: you write and compile every program yourself, and the tutor helps you understand each error.

  • First 30-minute class free
  • Live, one-to-one, online
  • Female tutors on request
  • Reply within 24 hours

The C++ course at a glance

Short answers to the questions students and parents ask first. Each one is explained in more detail further down the page.

What is C++ used for?

C++ is used where speed and control over memory matter: games and game engines, operating systems, embedded devices, web browsers and financial systems. Many universities also use it to teach programming, OOP and data structures.

Who should learn C++?

University and school students whose course uses C++, beginners who want to understand how programs work with memory, and students preparing for data structures and algorithms.

What do I need before I start?

No programming experience is required, though some experience in any language helps. You need a laptop or desktop with a C++ compiler or IDE; the tutor helps you install one.

Which topics does the course cover?

C++ fundamentals, variables and data types, conditions and loops, functions, arrays and strings, pointers and references, classes and objects, object-oriented programming, and data structures with practical exercises.

How are the classes delivered?

Live and one-to-one on Microsoft Teams or Zoom. You share your screen and write and compile the code yourself, in the compiler your course uses, while the tutor explains and helps you debug.

How can I start learning C++?

Book the free 30-minute introductory class with the form on this page or on WhatsApp. We reply within 24 hours. Bring your course outline if you have one, and the tutor suggests where to begin.

Who should take this C++ course?

  • University students whose programming, OOP or data structures course uses C++
  • School and college students whose Computer Science course uses C++
  • Beginners who want to understand how programs use memory
  • Python programmers who need C++ for a course
  • Students getting ready to learn data structures and algorithms in C++

Where students often get stuck

  • Compiler errors that point at the wrong line
  • Pointers, addresses and the * and & symbols
  • Programs that crash with a segmentation fault
  • Passing by value against passing by reference
  • Header files, constructors and where class code belongs

Prerequisites

  • No programming experience is required. Some experience in any language makes the early topics quicker.
  • Comfortable using a computer, including saving files in folders.
  • A C++ compiler or the IDE your course uses. The tutor helps you install one in the first lesson.

What you need for lessons

  • A laptop or desktop computer. A phone or tablet is not enough for writing code.
  • A stable internet connection and Microsoft Teams or Zoom.
  • A quiet place where you can share your screen and talk with the tutor.

C++ course syllabus

The topics in the order they are usually taught. The tutor adjusts the order and depth to your level, and to your school or university syllabus if you share it.

  1. C++ fundamentals

    • Writing, compiling and running a program
    • main(), #include and the std namespace
    • Input and output with cin and cout
    • Reading compiler errors and warnings
  2. Variables and data types

    • int, double, char, bool and std::string
    • Declaring and initialising variables; const and auto
    • Integer division, overflow and type casting
    • Operators and precedence
  3. Conditions and loops

    • if, else if, else and switch
    • while, do-while and for loops
    • Nested loops and printing patterns
    • break and continue
  4. Functions

    • Declaring and defining functions
    • Parameters, return values and function overloading
    • Passing by value and by reference
    • Recursion
    • Splitting code into header and source files
  5. Arrays and strings

    • Fixed-size arrays and looping over them
    • Two-dimensional arrays (matrices)
    • std::string and its member functions
    • C-style strings, and why std::string is safer
    • std::vector as an array that can grow
  6. Pointers and references

    • Memory addresses and the & operator
    • Declaring and dereferencing pointers
    • References, and when to use them instead of pointers
    • Pointers and arrays
    • Dynamic memory with new and delete, and avoiding leaks
  7. Classes and objects

    • Classes, objects, and public and private members
    • Constructors, destructors and member functions
    • The this pointer
    • Putting a class in a header and a source file
  8. Object-oriented programming

    • Encapsulation with getters and setters
    • Inheritance and access levels
    • Virtual functions and polymorphism
    • Abstract classes with pure virtual functions
    • Operator overloading basics
  9. Data structures and practical exercises

    • std::vector, std::stack, std::queue and std::map
    • A linked list built with pointers
    • Stacks and queues built on arrays
    • Linear and binary search; bubble and selection sort
    • Exercise sets in the style of university lab tasks

A practical way to learn

Compile early, compile often
You compile after every few lines, so each error message is about code you have just written and is easier to understand.
Draw the memory
Before writing pointer code, you sketch the variables and addresses with the tutor. Then you run the program and check it matches the drawing.
Your compiler, your course
Lessons use the compiler or IDE your course uses, such as Visual Studio, Code::Blocks or g++, and follow your course outline if you share it.
Practice in the shape of lab tasks
Many exercises read like university lab questions: understand the problem, plan it, write it, then test it with your own inputs.

Practice exercises and projects

Typical exercises from lessons, from first loops to pointer-based structures. The tutor chooses them to match your level and your course.

  • Student result system

    Store names and marks in arrays or a vector, work out averages, find the top student and print a formatted table.

    Practises

    • Arrays and vectors
    • Loops
    • Functions
  • Matrix calculator

    Add, multiply and transpose matrices stored in two-dimensional arrays.

    Practises

    • 2D arrays
    • Nested loops
    • Array parameters
  • Bank account classes

    An Account class with deposits and withdrawals, then savings and current accounts that inherit from it.

    Practises

    • Constructors
    • Encapsulation
    • Virtual functions
  • Linked list from scratch

    Insert, delete and search nodes using pointers and dynamic memory, then free the memory when you finish.

    Practises

    • Pointers
    • new and delete
    • Structs and classes

Your assignments stay your own

The tutor explains, reviews your code and helps you find bugs, but does not write graded assignments or lab tasks for you.

Read our Academic Integrity Policy

What you can expect to learn

  • Write, compile and run C++ programs, and fix compiler errors yourself
  • Use arrays, std::string and std::vector to store and process data
  • Explain pointers and references, and use them without crashing the program
  • Choose between passing by value and by reference
  • Design classes with constructors, private data and inheritance
  • Build simple data structures such as a stack or a linked list

These are the aims of the lessons. Progress depends on where you start and how much you practise, and we never promise grades or results.

Suitable learning levels

C++ suits students from beginner to intermediate level. It asks for more detail than Python, so the pace depends on where you start.

  • Level: Beginner

    C++ as your first language

    You have not programmed before. You start by compiling a first program and build up slowly, with plenty of practice on each topic.

  • Level: Beginner to intermediate

    C++ as your second language

    You know some Python or another language. Lessons move faster through the basics and spend more time on types, memory and pointers.

  • Level: Intermediate

    Support during a university course

    Your course has reached pointers, classes or data structures. The free class finds the gaps, and lessons start from there.

Where to go next

C++ leads naturally into the Computer Science courses that university programmes build on it.

  • Object-Oriented Programming

    Design with classes, inheritance and interfaces, and draw UML before you code.

  • Python Programming

    A second, shorter language for scripting and quick experiments.

  • Programming Courses

    Compare C++ with Python, JavaScript and the other programming courses.

Free guides

Your C++ tutor

C++ classes are taught by the programming tutors below. Each profile is published with the tutor’s consent. When you get in touch, we suggest a tutor who suits your level, your course and your timetable.

  • Portrait of Ali Sher Abbasi, tutor at My Subject Hub

    Ali Sher Abbasi

    Tutor at My Subject Hub

    • BS (Computer Science)
    • DSA certification
    Teaching experience
    5 years
    Teaching languages
    English and Urdu
    Computer science and programming
    • Programming Fundamentals
    • C++ and Java
    • JavaScript and Web Development
    • Object-Oriented Programming
    • Data Structures and Algorithms
    • Advanced Computer Science
    • Cybersecurity Fundamentals
    • FYP Mentoring
    School and college subjects
    • Mathematics
    • Science, Physics, Chemistry and Biology
    • English
    • Urdu
    Teaching approach
    Friendly and patient. Daily tasks and assignments, with quizzes to check progress, and we move to the next topic only when the previous one is crystal clear.
    Curricula and boards
    All curricula and boards
    Online availability
    Any time that suits the student
See all tutors

Course fee

Python, JavaScript, C++, Java and C. One flat monthly fee per course, whatever the number of classes a week.

International
⁦$60⁩a month
Saudi Arabia
⁦SAR 180⁩a monthIncludes the 20% discount for students in Saudi Arabia

Object-Oriented Programming, Data Structures and Algorithms and Cybersecurity use the monthly plans, like academic subjects.

See all fees and plans

C++ course questions

Do you teach C as well as C++?

Yes. Many courses start with C before C++. The tutor can teach C’s syntax, pointers and arrays, and show which habits change when you move to C++.

Is C++ harder than Python?

C++ asks for more detail: you declare types, compile before running and manage some memory yourself. A beginner can learn it, but progress can feel slower at first. In return, you learn how programs work underneath.

Compare with the Python course

Which version of C++ do you teach?

Modern C++ (C++11 and later), for example auto, range-based for loops, std::vector and std::string. If your course uses an older style, such as C-style arrays and strings, the tutor teaches that too.

Which compiler or IDE will I use?

Whichever your course uses, such as Visual Studio, Code::Blocks, Dev-C++ or g++ on the command line. If you have no requirement, the tutor helps you install a free one in the first lesson.

Will this course prepare me for Data Structures and Algorithms?

That is a common reason to take it. The later topics cover pointers, classes and simple data structures, which DSA courses build on. Our separate DSA course then covers complexity, trees, graphs and algorithms.

Read about the Data Structures and Algorithms course

How long does it take to learn C++?

There is no fixed length. It depends on where you start, how many lessons you take each week and what your course requires. The tutor suggests a plan after the free class. The fee is ⁦$60⁩ a month (⁦SAR 180⁩ in Saudi Arabia), whatever the number of classes a week.

See fees and plans

Book a free introductory C++ class

Meet the tutor, compile a short C++ program together, and agree where to start. Fill in the form and we will arrange a time.

What happens next

  1. We reply within 24 hours, on WhatsApp or by email.
  2. You agree a time for the free 30-minute class with the tutor.
  3. In the class the tutor checks your level, you write a little code together, and you get a suggested starting point.
  4. There is no obligation to continue after the free class.

Tell us about the student

Only the name, the student’s level and one way to reach you are required. Everything else is optional.

About the student
How we can reach you

A contact number with country code, an email address, or both. We need at least one to reply; email is fine if you would rather not share a number.

Class preferences(optional)
Preferred tutor(optional)

We use these details only to reply to you and arrange classes. How we handle your information