Object Oriented Programming in C++

Object-Oriented Programming (OOP) is a foundational programming paradigm that focuses on designing software using objects rather than functions. This course introduces key OOP concepts, including classes, objects, constructors, getters, setters, and association. Students explore the four core pillars of OOP—Encapsulation, Abstraction, Inheritance, and Polymorphism—and learn how to apply them in building modular and maintainable applications. Through practical exercises, learners gain both theoretical understanding and hands-on skills to develop real-world software solutions.

No Certificate / Course on Audit Track

About Course

Object-Oriented Programming (OOP) is a fundamental programming paradigm that organizes software design around objects rather than functions and logic. In this course, students are introdüced to the core building blocks of OOP, beginning with classes and objects, which represent real-world entities and their behaviors in a structured and reusable manner. The course explores how constructors are used to initialize objects, and how getters and setters provide controlled access to data, ensuring proper encapsulation and data integrity. Students also learn about association, which defines relationships between different classes and enables systems to model real-life interactions effectively.

A major focus of the course is understanding the four pillars of OOP Encapsulation, Abstraction, Inheritance, and Polymorphism which form the foundation of modern software development. Through practical examples and hands-on programming exercises, learners develop the ability to design modular, scalable, and maintainable applications. By the end of the course, students gain both theoretical knowledge and practical skills necessary to apply object-oriented principles in real-world software projects.

Authorship and Attribution

This course has been curated by Riphah International University faculty and staff using publicly available third-party content and Open Educational Resources (OER) for self-paced learning. Learners will engage with curated open-access materials to achieve the course learning outcomes. All third-party content is used under open-access or fair-use policies, while any original materials are developed specifically for this learning experience.

Source and Credits:

  • Instructor: Saldina Nurak
  • Provider: YouTube (@CodeBeauty)
  • License: Standard YouTube license

What You'll Learn

By completing this course, you will be able to:

  • Explain core object-oriented programming concepts including classes, objects, constructors, associations, and the four pillars of OOP.
  • Design class-based solutions to model real-world problems using object-oriented principles.
  • Implement programs applying encapsulation, abstraction, inheritance, polymorphism, and controlled data access through getters and setters.
  • Analyze and debug object-oriented programs to evaluate correctness, efficiency, and logical structure.

Prerequisites

To be successful in this course, learners should have:

Learners enrolling in this course should have a basic understanding of programming fundamentals, including familiarity with variables, data types, operators, control structures, and basic input/output operations. They should also be able to write simple programs in at least one programming language and demonstrate logical problem-solving skills.

Who Can Take This Course?

This course is designed for undergraduate students in computing or related disciplines who want to build a strong foundation in programming and software development. It is especially beneficial for learners who are beginning their journey in software engineering and wish to understand how real-world systems are modeled and implemented using object-oriented principles. Students who aim to strengthen their problem-solving skills, logical thinking, and coding proficiency will gain practical knowledge and structured design approaches that prepare them for advanced programming courses and professional software development environments.

Course Outline

Course Introduction

Course Introduction OPP (Reading)

Introduction to Classes and Objects in C++

C++ OOP – Introduction to classes and objects for beginners (Video)

Constructors and class methods

C++ OOP (2025) – What are constructors and class methods? How to use them (Video)

Encapsulation

C++ OOP – What is encapsulation in programming (Video)

Inheritance

C++ OOP – What is inheritance in programming (Video)

Polymorphism

C++ OOP – What is polymorphism in programming (Video)

Abstraction

Abstraction explained with real-life examples and code! – C++ OOP Course (Video)

Data Structures Summary and Wrap Up

Data Structures Summary and Wrap (Reading)

Skills You Will Gain

Object-Oriented Programming Pillars of OOP Class-Based Solutions Encapsulation Abstraction Inheritance

Course Information

Duration

Approximately 2 Hours

Course Information

Difficulty Level

Intermidiate

Learning Mode

Fully Online (Asynchronous)

Learning Type

Self Paced

Language

English Only

Instructor/Curator

Course Instructor