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
- Unit 1 · Week 1
Programming paradigms
- Programming paradigms
- Procedural programming and its limits
- Thinking in objects
- Objects send messages
- Unit 2 · Week 2
Why OOP, and UML
- Designing with objects
- The four pillars of OOP
- Reading a UML class diagram
- Drawing a class from a description
- Unit 3 · Week 3
Classes and objects
- Classes and objects in C++
- Your first class
- Member functions outside the class
- The this pointer
- Objects on the heap: new and ->
- From UML to code
- Unit 4 · Week 4
Inheritance
- Inheritance: building on a class
- Base and derived classes
- Constructor and destructor order
- Types of inheritance
- Unit 5 · Week 5
Advanced inheritance
- Beyond simple inheritance
- Protected members
- Access control in inheritance
- Classes with two bases
- Multiple inheritance and the diamond problem
- Unit 6 · Week 6
Encapsulation
- Encapsulation: data behind a wall
- Data hiding with access modifiers
- Default access: class and struct
- Getters, setters and validation
- Changing the inside without breaking users
- Unit 7 · Week 7
Constructors and class features
- Building and destroying objects
- Constructors
- Initialiser lists and copy constructors
- Destructors and object lifetime
- Static members
- const member functions
- Unit 8 · Weeks 8–9
Overloading
- Overloading: one name, many jobs
- Function overloading
- Operator overloading
- Overloading ++ and unary minus
- Overloading << and comparison operators
- Unit 9 · Week 10
Runtime polymorphism
- Polymorphism: one call, many forms
- Function overriding
- Base pointers to derived objects
- Virtual functions
- The vtable: choosing at run time
- Virtual destructors and object slicing
- Unit 10 · Week 11
Abstraction
- Abstraction: hiding the details
- Abstract classes and pure virtual functions
- Making a derived class concrete
- Using abstract classes through pointers
- Interfaces
- Unit 11 · Weeks 12–13
Object relationships
- Relationships between objects
- Identifying classes and association
- Multiplicity on associations
- Aggregation and composition
- Composition and aggregation in code
- Unit 12 · Week 14
Generic programming
- Templates: one code for many types
- Function templates
- Template argument deduction
- Class templates
- Templates with more than one type
- Unit 13 · Week 15
Files and exceptions
- Saving data and handling errors
- Writing to a file with ofstream
- Reading a file with ifstream
- File streams and object serialization
- Exception handling
- Stack unwinding
- Unit 14 · Week 16
The Standard Template Library
- STL: containers, iterators and algorithms
- Vectors
- Containers and iterators
- Maps: keys and values
- STL algorithms
Study every lesson with diagrams, practice and Buddy, your AI tutor.
Start studying free