Skip to content

phspeters/cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

120 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏊 C++ piscine

💡 About the project

The goal of these modules is to introduce you to Object-Oriented Programming. This will be the starting point of your C++ journey. Many languages are recommended to learn OOP. We decided to choose C++ since it’s derived from your old friend C. Because this is a complex language, and in order to keep things simple, your code will comply with the C++98 standard.
We are aware modern C++ is way different in a lot of aspects. So if you want to become a proficient C++ developer, it’s up to you to go further after the 42 Common Core!
You will discover new concepts step-by-step. The exercises will progressively increase in complexity.

💭 Main concepts from each module

  • cpp00: Namespaces, classes, member functions, stdio streamsinitialization lists, static, const, and some other basic stuff

  • cpp01: Memory allocation, pointers to members, references, switch statement

  • cpp02: Ad-hoc polymorphism, operator overloading and Orthodox Canonical class form

  • cpp03: Inheritance

  • cpp04: Subtype polymorphism, abstract classes, interfaces

  • cpp05: Repetition and Exceptions

  • cpp06: C++ casts

  • cpp07: C++ templates

  • cpp08: Templated containers, iterators, algorithms

  • cpp09: STL

🚫 Project constraints

  • C++11 (and derived forms) and Boost libraries are forbidden.
  • The using namespace <ns_name> and friend keywords are forbidden
  • From Module 02 to Module 09, your classes must be designed in the Orthodox Canonical Form, except when explicitely stated otherwise.
  • You are allowed to use the STL in the Module 08 and 09 only. That means: no Containers (vector/list/map/and so forth) and no Algorithms (anything that requires to include the header) until then.

📋 Testing

To compile, navigate to the exercise directory and run:

$ make 

Then, execute the newly compiled program.

About

C++ is a general-purpose programming language created by Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The goal of these modules is to introduce you to Object-Oriented Programming. This will be the starting point of your C++ journey.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors