Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Professional C++ 17: Object‑Oriented Programming
Rating: 4.4 out of 5(45 ratings)
393 students

Professional C++ 17: Object‑Oriented Programming

Master modern C++ 17 with hands‑on OOP, memory mgmt, templates, smart pointers, design patterns, and real‑world coding
Last updated 3/2026
English

What you'll learn

  • Modern, Object-Oriented C++ Programming - C++ 17
  • C++ 11, 14, & 17 Features and Idioms
  • Lambda Expressions & Functional Programming
  • Test Driven Development
  • Inheritance, Polymorphism, Interfaces - Good Design Technique
  • Containers & Algorithms

Course content

9 sections44 lectures6h 11m total length
  • Introduction1:50

    Welcome to Professional C++ - Object-Oriented C++ Programming.

    My name is Chuck and I will be your instructor for this course.  Your feedback is welcome and if I can assist you in any way, please feel free to contact me. 

  • Getting the most from the course - Lab Environment3:42
  • Additional Instruction on VS Community 20193:35

Requirements

  • Basic C or C++ programming

Description

This intermediate‑level course teaches you how to build professional, modern applications using C++ 17 and the full power of object‑oriented programming. Designed for developers who already understand the basics of C++ or come from languages like C, Java, or C#, this course takes you deep into the features, patterns, and best practices used in real‑world C++ development.

You’ll learn how to design and implement classes, manage memory safely, apply test‑driven development, use templates effectively, and leverage modern C++ features such as smart pointers, lambda expressions, functional programming utilities, and the STL. Throughout the course, you’ll also explore design principles and patterns that help you write clean, maintainable, and scalable C++ applications.

Chuck’s courses have been delivered to thousands of developers worldwide, including teams at major corporations, government agencies, and the military. His training is used internally at Microsoft to teach professional developers modern C++ techniques.

By the end of this course, you’ll be ready to contribute meaningfully to C++ projects with a strong understanding of object‑oriented design, modern C++ features, and the practical skills needed to write high‑quality software.

What You’ll Learn

  • Implement classes, constructors, destructors, and const‑correct code

  • Apply test‑driven development to guide implementation

  • Master memory management with pointers, references, move/copy semantics

  • Handle exceptions and design robust error‑handling strategies

  • Overload operators correctly and effectively

  • Use and create function and class templates, including variadic templates

  • Work with smart pointers (unique, shared, weak) using RAII

  • Apply inheritance, overriding, and polymorphism with best practices

  • Understand interfaces, dependency inversion, and interface segregation

  • Use lambda expressions, functional utilities, and modern STL features

  • Explore GOF design patterns implemented in C++

  • Build clean, maintainable, object‑oriented C++ 17 applications

Who this course is for:

  • Beginner C/C++ programmers wanting to learn more
  • Java developers wanting to learn C++
  • C# developers wanting to learn C++