An open API service indexing awesome lists of open source software.

https://github.com/amaitou/cpp-modules

Collection of CPP Modules that come to introduce the world of Object-Oriented Programming where it covers many topics starting with Casting, Classes, passing by Inheritance as well as polymorphism, Templates, and Containers.
https://github.com/amaitou/cpp-modules

1337school 42cursus 42network cpp modules

Last synced: 3 months ago
JSON representation

Collection of CPP Modules that come to introduce the world of Object-Oriented Programming where it covers many topics starting with Casting, Classes, passing by Inheritance as well as polymorphism, Templates, and Containers.

Awesome Lists containing this project

README

          

---
![wp4009916-c-plus-plus-wallpapers](https://github.com/amaitou/CPP-Modules/assets/49293816/a37d8454-fada-44a5-868e-5291f419093a)

---
# CPP Modules

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](https://github.com/amaitou/1337)

---

# Modules Info

| 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% ✅ |

---

# Links Of Each Module

- [Module 00](https://github.com/amaitou/CPP-Modules/tree/master/Module-00)
- [Module 01](https://github.com/amaitou/CPP-Modules/tree/master/Module-01)
- [Module 02](https://github.com/amaitou/CPP-Modules/tree/master/Module-02)
- [Module 03](https://github.com/amaitou/CPP-Modules/tree/master/Module-03)
- [Module 04](https://github.com/amaitou/CPP-Modules/tree/master/Module-04)
- [Module 05](https://github.com/amaitou/CPP-Modules/tree/master/Module-05)
- [Module 06](https://github.com/amaitou/CPP-Modules/tree/master/Module-06)
- [Module 07](https://github.com/amaitou/CPP-Modules/tree/master/Module-07)
- [Module 08](https://github.com/amaitou/CPP-Modules/tree/master/Module-08)
- [Module 09](https://github.com/amaitou/CPP-Modules/tree/master/Module-09)

---

# Useful Links to get into CPP'OOP

here's a curated list of useful links for learning various Object-Oriented Programming (OOP) concepts in C++:

- [C++ Classes and Objects](https://www.geeksforgeeks.org/c-classes-and-objects/)
- 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](https://www.tutorialspoint.com/cplusplus/cpp_polymorphism.htm)
- 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](https://www.geeksforgeeks.org/pure-virtual-functions-and-abstract-classes/)
- Learn about abstract classes and pure virtual functions, which are fundamental concepts for creating interfaces and achieving abstraction in C++.
---
- [Inheritance in C++](https://www.learncpp.com/cpp-tutorial/111-introduction-to-inheritance/)
- 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](https://www.geeksforgeeks.org/multiple-inheritance-in-c/)
- Understand the diamond problem in multiple inheritance and how virtual inheritance helps solve the ambiguity it creates.
---
- [C++ Fixed-Point Arithmetic](https://embeddedartistry.com/blog/2018/07/12/simple-fixed-point-conversion-in-c/)
- Learn about fixed-point arithmetic in C++, which is useful for applications where floating-point arithmetic is less suitable due to resource constraints.
---
- [Type Casting in C++](https://www.prepbytes.com/blog/cpp-programming/type-casting-in-cpp/#:~:text=Type%20casting%20in%20C%2B%2B%20refers,requires%20a%20different%20data%20type.)
- Dive into the world of typecasting which is a useful thing to know while using C++ since there are many types of typecasting
---

- [Templates in C++](https://www.geeksforgeeks.org/templates-cpp/)
- Get Deep Into the concept of `Template Functions` in C++, and their usage

---

- [Containers in C++ STL (Standard Template Library)](https://www.geeksforgeeks.org/containers-cpp-stl/)
- 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.

---

### **Contact Me**

* [Twitter][_1]

[_1]: https://twitter.com/amait0u