https://github.com/nhmikami/42-cpp
Introduction to object-oriented programming
https://github.com/nhmikami/42-cpp
cpp oop
Last synced: 10 months ago
JSON representation
Introduction to object-oriented programming
- Host: GitHub
- URL: https://github.com/nhmikami/42-cpp
- Owner: nhmikami
- Created: 2025-06-07T14:19:40.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-31T20:37:15.000Z (11 months ago)
- Last Synced: 2025-07-31T23:12:15.200Z (11 months ago)
- Topics: cpp, oop
- Language: C++
- Homepage:
- Size: 332 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 42-cpp
This repository contains the C++ modules developed as part of the 42 curriculum. Each module introduces core C++ concepts through practical exercises, aiming to build a solid understanding of object-oriented programming.
## Modules Overview
### ๐ฆ cpp00
> **Foundations of C++**
- Namespaces
- Classes and member functions
- Standard I/O streams
- Initialization lists
- `static` and `const` keywords
- Basic C++ syntax and structure
### ๐ก cpp01
> **Memory and References**
- Dynamic memory allocation
- Pointers and references
- Pointers to member functions
- `switch` statements
- Introduction to file I/O using `ifstream` and `ofstream`
### โ๏ธ cpp02
> **Ad-hoc Polymorphism**
- Operator overloading
- Function overloading
- Canonical Orthodox Form ("Rule of Four")
- Constructors, destructors, copy constructors, assignment operators
### ๐งฌ cpp03
> **Inheritance**
- Basic inheritance and derived classes
- Use of `public`, `protected`, and `private` inheritance
- Constructors and destructors order in inheritance
### ๐ง cpp04
> **Polymorphism and Abstractions**
- Subtype polymorphism using virtual functions
- Abstract classes and interfaces
- Virtual destructors
- Deep dive into runtime behavior of polymorphic types
### ๐ cpp05
> **Exceptions and Error Handling**
- Use of `try`, `catch`, and `throw` keywords
- Exception class hierarchy
- Custom exception classes
- Best practices for error handling in C++
### ๐ cpp06
> **Casting in C++**
- `static_cast`, `dynamic_cast`, and `reinterpret_cast`
- Use cases and limitations of each cast
- Type conversions and their implications
### ๐งฉ cpp07
> **Templates**
- Function templates
- Class templates
- Function objects (functors)
- Template specialization and partial specialization
### ๐งต cpp08
> **Templated Containers and Algorithms**
- Custom containers with templates
- Iterators and iterator categories
- Generic algorithms from the STL
### ๐๏ธ cpp09
> **Standard Template Library (STL)**
- Overview of STL containers: vector, list, deque, map, set
- STL algorithms and utilities
- Time and space complexity of STL operations