Skip to content

deepcloudlabs/dcl112-2025-aug-18

Repository files navigation

DCL-112: Object-Oriented Programming using C++23

These projects are created as part of the following training: DCL-112: Object-Oriented Programming using C++23

Please follow the link for the complete training catalog: https://www.deepcloudlabs.com/resources

1. Imperative Programming

  • Flow: Problem → Algorithm/Flow → Solution
  • Examples: Procedural Programming, OOP, ...

2. Declarative Programming

  • Flow: Problem → Declare solution → Solution
  • Examples: Functional Programming, OOP, ...

C++ Programming Paradigms

  • OOP → Imperative Programming (Modules 2–8)
  • OOP → Functional Programming (Module 9)
  • OOP → Generic Programming (Modules 10–11)

Object-Oriented Programming (OOP)

1. Modeling / Abstraction Tool

  • Flow: Problem → Model → Class

    • Class components:
      1. Attributes / Fields / State / Data / Properties
      2. Behaviour / Methods
    • Object
    • (Covered in Modules 3–5)
  • Principles:

    • Encapsulation + Information Hiding
    • Global State → Functions

2. Inheritance → Reusability

  • Inheritance → Class
  • (Covered in Module 6)

3. Polymorphism → Agility → Open/Close Principle

  • Polymorphism → Inheritance → Class
  • (Covered in Modules 7–8)