Special offers now — see discounted courses.
day
:
hour
:
min
:
sec
See special offers
Object-Oriented Programming with C++

Object-Oriented Programming with C++

2h 20mIntermediate2025-02-13

Authors

Károly Nyisztor

Károly Nyisztor

Mobile Developer, Instructor

Course details

Are you an intermediate-level programmer looking to level up with C++? This comprehensive course is designed to equip you with a deeper understanding of some of the core principles of object-oriented programming (OOP) and their practical application in C++ development. Instructor Károly Nyisztor shows you what it takes to master encapsulation, inheritance, polymorphism, and abstraction, while gaining hands-on experience in designing and implementing C++ classes. Explore the proper use of constructors, destructors, and member functions, as well as advanced techniques for creating flexible and reusable code through inheritance and polymorphism. Along the way, discover essential memory management strategies, including the use of smart pointers and RAII principles, to write more efficient and robust C++ programs.

Learning objectives
Explain the core principles of object-oriented programming (encapsulation, inheritance, polymorphism, and abstraction) in the context of C++.
Design and implement C++ classes, including proper use of constructors, destructors, and member functions.
Apply inheritance and polymorphism to write flexible and reusable C++ code.
Demonstrate proper memory management techniques using smart pointers and RAII principles in C++.
Design and develop small-scale object-oriented projects in C++, leveraging OOP concepts and C++-specific features.

Skills covered

C++Programming FoundationsProgramming LanguagesOpen SourceSoftware DevelopmentOne-Off

Concepts

0. Introduction

  • 01 - Object-oriented C++
  • 02 - Prerequisites - What you need to know
  • 03 - Using GitHub Codespaces
  • 04 - From unstructured code to OOP

1. Classes and Objects

  • 05 - Defining classes
  • 06 - Access specifiers
  • 07 - Separating class declaration from class definition
  • 08 - Creating and using objects
  • 09 - Constructors and destructors
  • 10 - Challenge - Implementing a smart home thermostat class
  • 11 - Solution - Implementing a smart home thermostat class

2. Encapsulation and Data Hiding

  • 12 - Why should we hide information
  • 13 - Doorways to data - Getters and setters
  • 14 - Applying the DRY principle
  • 15 - Challenging const correctness
  • 16 - Friends
  • 17 - Challenge - Bank account with audit system
  • 18 - Solution - Bank account with audit system

3. Inheritance and Code Reuse

  • 19 - Why reinvent the wheel
  • 20 - Extending classes
  • 21 - Access control in inheritance
  • 22 - Overriding and extending functionality
  • 23 - Multiple inheritance
  • 24 - Multiple inheritance pitfalls
  • 25 - Challenge - RPG character system
  • 26 - Solution - RPG character system

4. Polymorphism and Virtual Functions

  • 27 - The many faces of objects
  • 28 - Virtual functions - The basics
  • 29 - Runtime polymorphism
  • 30 - Pure virtual functions and abstract classes
  • 31 - Virtual destructors - Why, when, and how
  • 32 - Challenge - Superhero ability system
  • 33 - Solution - Superhero ability system

5. Practical OOP - Putting It All Together

  • 34 - Modular design and separation of concerns
  • 35 - Dissecting a class
  • 36 - Quick overview of SOLID principles
  • 37 - Designing for reusability
  • 38 - Smart use of smart pointers
  • 39 - Quick wins with RAII

Conclusion

  • 40 - Course wrap-up and next steps

Related courses

About us

LyndaKade is a leading learning platform that helps people learn business, software, technology, and creative skills to achieve personal and professional goals.

Phone numberAparat ChannelTelegram SupportTelegram ChannelInstagram Page

All rights to this site belong to LyndaKade.

Terms of Service|Privacy Policy

نماد الکترونیک enamad در صورت اتصال با آی‌پی داخل کشور، نمایش داده خواهد شد.
logo-samandehi - لوگو ساماندهی
zarinpal
zibal