Welcome to the C++ (42-Network) Exercises and Object-Oriented Programming Concepts repository! This repository is designed to help learners practice their C++ programming skills from the ground up, covering the fundamentals and progressing through various Object-Oriented Programming concepts.
Each directory within this repository corresponds to a specific topic, ranging from cpp_00
to cpp_09
, and contains multiple exercises. The exercises are categorized and named as ex00
, ex01
, ex02
, and so on. You'll find detailed instructions for each exercise within their respective directories.
The repository is organized as follows:
-
cpp_00
: Introduction to C++ Basics Namespaces, classes, member functions, stdio streams, initialization lists, static, const, and some other basic stuff -
cpp_01
: More C++ Basics Memory allocation, pointers to members, references, switch statement -
cpp_02
: Ad-hoc polymorphism, operator overloading and Orthodox Canonical class form -
cpp_03
: Inheritance -
cpp_04
: Subtype polymorphism, abstract classes, interfaces -
cpp_05
: Repetition and Exceptions -
cpp_06
: C++ casts -
cpp_07
: C++ templates -
cpp_08
: Templated containers, iterators, algorithms -
cpp_09
: STL
-
Clone this repository to your local machine using the following command: git clone https://github.com/zmoussam/cpp_42
-
Navigate to the specific topic directory that you want to work on: cd cpp_09
-
Choose an exercise you want to work on (e.g.,
ex00
) and read the exercise instructions provided in the respective directory. -
Write your solution for the exercise in a C++ source file.
-
Compile and run your solution using a C++ compiler
-
Compare your solution's output with the expected output mentioned in the exercise description.
-
Move on to the next exercise or topic as you progress through the repository.
If you'd like to contribute to this repository, you can:
- Fork the repository.
- Create a new branch for your work:
git checkout -b feature/your-feature
- Make your contributions and commit changes:
git commit -m "Add your message"
- Push your changes to your forked repository:
git push origin feature/your-feature
- Open a Pull Request in this repository, describing your changes.
If you have questions, feedback, or need support regarding any exercise or concept, feel free to [open an issue]. We're here to help!
Happy coding!