Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Advanced C++ Features and Data Structures

Packt via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
This course features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. Take your C++ programming skills to the next level by mastering advanced features and foundational data structures essential for building high-performance software. In this comprehensive course, you'll explore file handling, inheritance, polymorphism, templates, the Standard Template Library (STL), and core data structures such as stacks, queues, and linked lists. You’ll begin with file input/output, learning how to read from and write to files to persist data across sessions. Real-world projects like salary reports and student rosters reinforce your ability to manage external data. Next, you'll dive into object-oriented programming with inheritance and polymorphism, building derived classes and role-based systems like an RPG character creator to see these concepts in action. As the course progresses, you’ll explore C++ templates and the STL, learning how to write reusable, efficient code using powerful generic containers and algorithms. You’ll also cover critical concepts like smart pointers, operator overloading, and rules for safe memory management. Projects like a language translator and crop simulator tie these topics together. In the final stretch, the focus shifts to data structures. You'll implement both array-based and linked versions of stacks, queues, and lists, and apply templating to create flexible, type-safe data abstractions. By combining theory with hands-on coding, you’ll build a toolkit for solving complex programming problems. By the end of the course, you will be able to apply advanced C++ features like templates and polymorphism, utilize STL containers effectively, manage memory with modern techniques, and implement foundational data structures from scratch.

Syllabus

  • File Input and Output
    • In this module, we will explore how to manage file input and output in C++, enabling your programs to store and retrieve data persistently. You’ll learn how to write to and read from files, handle file errors, and work with various file modes. Projects like the Employee Salary Report and Student Roster Generator will give you hands-on experience with real-world file operations.
  • Inheritance and Polymorphism
    • In this module, we will dive into the advanced object-oriented concepts of inheritance and polymorphism. You’ll learn how to create class hierarchies, override methods, and use dynamic dispatch to build flexible programs. Through projects like the Derived Cat Class and RPG Character Creator, you’ll reinforce these concepts with creative, hands-on examples.
  • Templates, the STL, and Other Skills
    • In this module, we will unlock the power of templates and the Standard Template Library to write cleaner and more efficient C++ code. You’ll also explore advanced concepts like smart pointers, operator overloading, and friend functions. Projects like the Language Translator and Crop Hybridization Simulator will challenge you to apply these skills in meaningful ways.
  • Fundamentals of Data Structures
    • In this module, we will cover the foundational data structures every C++ developer needs to know, including arrays, linked lists, stacks, and queues. You’ll explore both array-based and linked implementations, and even build your own templated data structures. Projects like the Linked Queue and List-Based Stack will help cement your understanding through practical, applied learning.

Taught by

Packt - Course Instructors

Reviews

Start your review of Advanced C++ Features and Data Structures

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.