14 units · 71 lessons

Object Oriented Programming

Object Oriented Programming from the first idea to exam level: every lesson builds on the one before, with a worked example, a step-through diagram where it helps, a quick check and practice that adapts to what you know. Follows Lafore, Object-Oriented Programming in C++, 4th ed..

Object Oriented Programming at a glance

What does Object Oriented Programming cover?

OOP Basics & UML, Classes & Objects, Inheritance, Encapsulation, Constructors & Members, Overloading, Polymorphism, Abstraction, Object Relationships, Templates, Files & Exceptions and STL. It follows Lafore, Object-Oriented Programming in C++, 4th ed..

How many lessons does the Object Oriented Programming course on Studious have?

14 units and 71 lessons, from "Programming paradigms" to "STL algorithms". Each lesson has a worked example, a quick check and practice that adapts to what you know, and many have step-by-step diagrams.

Course outline

  1. Unit 1 · Week 1

    Programming paradigms

    1. Programming paradigms
    2. Procedural programming and its limits
    3. Thinking in objects
    4. Objects send messages
  2. Unit 2 · Week 2

    Why OOP, and UML

    1. Designing with objects
    2. The four pillars of OOP
    3. Reading a UML class diagram
    4. Drawing a class from a description
  3. Unit 3 · Week 3

    Classes and objects

    1. Classes and objects in C++
    2. Your first class
    3. Member functions outside the class
    4. The this pointer
    5. Objects on the heap: new and ->
    6. From UML to code
  4. Unit 4 · Week 4

    Inheritance

    1. Inheritance: building on a class
    2. Base and derived classes
    3. Constructor and destructor order
    4. Types of inheritance
  5. Unit 5 · Week 5

    Advanced inheritance

    1. Beyond simple inheritance
    2. Protected members
    3. Access control in inheritance
    4. Classes with two bases
    5. Multiple inheritance and the diamond problem
  6. Unit 6 · Week 6

    Encapsulation

    1. Encapsulation: data behind a wall
    2. Data hiding with access modifiers
    3. Default access: class and struct
    4. Getters, setters and validation
    5. Changing the inside without breaking users
  7. Unit 7 · Week 7

    Constructors and class features

    1. Building and destroying objects
    2. Constructors
    3. Initialiser lists and copy constructors
    4. Destructors and object lifetime
    5. Static members
    6. const member functions
  8. Unit 8 · Weeks 8–9

    Overloading

    1. Overloading: one name, many jobs
    2. Function overloading
    3. Operator overloading
    4. Overloading ++ and unary minus
    5. Overloading << and comparison operators
  9. Unit 9 · Week 10

    Runtime polymorphism

    1. Polymorphism: one call, many forms
    2. Function overriding
    3. Base pointers to derived objects
    4. Virtual functions
    5. The vtable: choosing at run time
    6. Virtual destructors and object slicing
  10. Unit 10 · Week 11

    Abstraction

    1. Abstraction: hiding the details
    2. Abstract classes and pure virtual functions
    3. Making a derived class concrete
    4. Using abstract classes through pointers
    5. Interfaces
  11. Unit 11 · Weeks 12–13

    Object relationships

    1. Relationships between objects
    2. Identifying classes and association
    3. Multiplicity on associations
    4. Aggregation and composition
    5. Composition and aggregation in code
  12. Unit 12 · Week 14

    Generic programming

    1. Templates: one code for many types
    2. Function templates
    3. Template argument deduction
    4. Class templates
    5. Templates with more than one type
  13. Unit 13 · Week 15

    Files and exceptions

    1. Saving data and handling errors
    2. Writing to a file with ofstream
    3. Reading a file with ifstream
    4. File streams and object serialization
    5. Exception handling
    6. Stack unwinding
  14. Unit 14 · Week 16

    The Standard Template Library

    1. STL: containers, iterators and algorithms
    2. Vectors
    3. Containers and iterators
    4. Maps: keys and values
    5. STL algorithms

Study every lesson with diagrams, practice and Buddy, your AI tutor.

Start studying free