Skip to content

Commit e6be51a

Browse files
committed
README
1 parent cf487a7 commit e6be51a

File tree

2 files changed

+90
-5
lines changed

2 files changed

+90
-5
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ex.sh
2+

README.md

Lines changed: 88 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,95 @@
1-
# 🚀 **42_CPP** 🚀
2-
*Repository for the CPP project from 42 school.*
1+
# 🧠 42 C++ Modules
2+
3+
Welcome to the **42 C++ Modules** repository! This project is a part of the 42 Cursus and is designed to progressively introduce and deepen the understanding of the C++ programming language—from its most basic syntax and OOP principles to advanced topics like templates, STL, and performance optimization.
4+
5+
Each module builds upon the knowledge of the previous one, reinforcing C++ fundamentals while exploring new concepts.
6+
7+
---
8+
9+
## 📚 Modules Overview
10+
11+
Here’s a high-level summary of what you’ll find in each module:
12+
13+
### 🚀 CPP00 - Basics of C++
14+
15+
- Introduction to C++ syntax, namespaces, and I/O streams.
16+
- Understanding basic classes, member functions, and attributes.
17+
- First look at OOP in C++.
18+
19+
### 🚀 CPP01 - Memory and References
20+
21+
- Stack vs heap, pointers, and references.
22+
- File I/O and working with streams.
23+
- Deeper exploration of object handling.
24+
25+
### 🚀 CPP02 - Ad-hoc Polymorphism
26+
27+
- Operator overloading and fixed-point arithmetic.
28+
- Introduction to static polymorphism and class interactions.
29+
30+
### 🚀 CPP03 - Inheritance Basics
31+
32+
- Creating base and derived classes.
33+
- Constructors, destructors, and the importance of inheritance.
34+
35+
### 🚀 CPP04 - Abstract Classes and Polymorphism
36+
37+
- Pure virtual functions, interfaces, and deep copies.
38+
- Dynamic polymorphism with base class references/pointers.
39+
40+
### 🚀 CPP05 - Exceptions and Operator Overload
41+
42+
- Custom exceptions and safe error handling.
43+
- More operator overloading with practical use cases.
44+
45+
### 🚀 CPP06 - Type Conversion and RTTI
46+
47+
- Casting (`static_cast`, `dynamic_cast`, etc.) and runtime type identification.
48+
- Polymorphism safety and serialization logic.
49+
50+
### 🚀 CPP07 - Templates
51+
52+
- Function and class templates.
53+
- Generic programming and type-agnostic utilities.
54+
55+
### 🚀 CPP08 - STL Containers and Iterators
56+
57+
- Using `vector`, `list`, `deque`, and iterators.
58+
- Functors, algorithms, and container-based design.
59+
60+
### 🚀 CPP09 - Performance and Container Efficiency
61+
62+
- Parsing and sorting with `list`, `deque`, and `map`.
63+
- Time complexity awareness and performance comparison.
364

465
---
566

6-
### ⚠️ **ATTENTION** ⚠️
67+
## 📁 Repository Structure
768

8-
**This repository is UNDER CONSTRUCTION!**
69+
Each module is organized into its own folder:
970

10-
**Please, be patient!***I'm working hard on it!*
71+
```
72+
/CPP00
73+
/CPP01
74+
...
75+
/CPP09
76+
```
77+
78+
Each module contains a `README.md` explaining its goals, topics, and exercises, along with the source code.
79+
80+
---
81+
82+
## 🛠️ Requirements
83+
84+
- C++98 standard compliance.
85+
- Use `make` for all compilations.
86+
- Proper memory management (no leaks).
87+
- Follow the Orthodox Canonical Form where required.
1188

1289
---
90+
91+
## 🏁 Final Thoughts
92+
93+
This repository is not only a learning journey through the C++ language but also a solid preparation for real-world development. By the end of CPP09, you’ll have touched most of the foundational and intermediate concepts in C++.
94+
95+
Happy coding and keep improving! 🚀

0 commit comments

Comments
 (0)