Skip to content

Exercises and projects of 42 Heilbronn school, about CPP learning.

Notifications You must be signed in to change notification settings

ncasteln/42-cpp-modules

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

42-cpp-modules

42 Heilbronn school projects about learning CPP.

Subject

The goal of these modules is to learn C++ in a practical way. Like any other project at 42, we learn-by-doing. Each exercise has its own specific topic and requirements. You'll find those requirements inside each module folder.

Brief explanation

The project covers the following topics about CPP:

0. CPP basics

We started from the basics about the C++98 standard. The first modules are simply a practice about classes definition and implementation, constants qualification, operator overloading and basic input/output operations.

1. Object-Oriented Programming

During the modules we learn the basics about Object-Oriented Programming: encapsulation, inheritance, polymorphism and abstraction. For example in the module_03 we leanred how to "solve" the so cllaed diamond problem about multiple inheritance.

2. Try Catch & exceptions

Coming from C programming, this is a new and quite useful feature which comes with C++. In the module_05 we learned how to use the try catch statement and how to handle exceptions. Error handling has never been easier.

3. Type casting

The module_06 is about type casting: static_cast, dynamic_cast and reinterpret_cast in action.

4. Template

Another very important feature about C++ are the template functions and classes. In the module_07 and _08 we learn this new concept by applying it into mini-projects like the creation of a Mutant stack.

5. Containers

In the last modules, in particular in the module_08 and _09 we learned the Standard Template Library along with the algorithm header and the C++98 containers. A relevant project is the last one about the implementation of the merge-insertion sort algorithm using 2 different containers (since we had to measure the speed) and template classes.

4. Leaks free

Like in any other project of 42, the memory allocated by has to be properly freed. No leaks are tolerated during evaluation. In this modules I used valgrind to check eventual memory leaks and memory inconsistences.

About

Exercises and projects of 42 Heilbronn school, about CPP learning.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published