In this series of projects 42 attempts to give us a deep understanding of C++ especially concepts related to Object-Oriented Programming
and it made us go all through the OOP
concepts to understand them by doing a lot of projects (tricky ones) in order to get the whole picture of OOP
.
for more information about the school check 1337/42 Network
Module Name | Topic | Status |
---|---|---|
Module 00 | Classes, Member Functions, Basic C++ Stuff | 100% ✅ |
Module 01 | Memory allocation, pointers to members, references, switch statement | 100% ✅ |
Module 02 | Ad-hoc polymorphism, operator overloading, Orthodox Canonical class form, and Fixed-Point | 100% ✅ |
Module 03 | Inheritance | 100% ✅ |
Module 04 | Subtype polymorphism, abstract classes, interfaces | 80% ✅ |
Module 05 | Repetition and Exceptions | 100% ✅ |
Module 06 | C++ casts | 100% ✅ |
Module 07 | C++ Templates | 100% ✅ |
Module 08 | Templated containers, Iterators and algorithms in C++. | 100% ✅ |
Module 09 | C++ Containers | 100% ✅ |
here's a curated list of useful links for learning various Object-Oriented Programming (OOP) concepts in C++:
-
- This tutorial explains the basics of classes and objects in C++, covering topics like class definition, object creation, member functions, and data members.
-
Polymorphism and Virtual Functions
- Understand polymorphism and virtual functions in C++. Learn how to achieve runtime polymorphism through the use of virtual functions.
-
Abstract Classes and Pure Virtual Functions
- Learn about abstract classes and pure virtual functions, which are fundamental concepts for creating interfaces and achieving abstraction in C++.
-
- This tutorial provides an introduction to inheritance in C++, explaining how to create derived classes, and base classes, and how inheritance hierarchy works.
-
The Diamond Problem and Virtual Inheritance
- Understand the diamond problem in multiple inheritance and how virtual inheritance helps solve the ambiguity it creates.
-
- Learn about fixed-point arithmetic in C++, which is useful for applications where floating-point arithmetic is less suitable due to resource constraints.
-
- Dive into the world of typecasting which is a useful thing to know while using C++ since there are many types of typecasting
-
- Get Deep Into the concept of
Template Functions
in C++, and their usage
- Get Deep Into the concept of
-
Containers in C++ STL (Standard Template Library)
- Understand In depth the containers and their types as well as learn how to use their methods
These resources cover a wide range of OOP concepts in C++, including classes, polymorphism, abstract classes, virtual functions, inheritance, the diamond problem, and even fixed-point arithmetic. Remember to practice hands-on coding and experiment with these concepts to solidify your understanding.