An open API service indexing awesome lists of open source software.

https://github.com/link-wolf/42-piscine_cpp

42 project - 9 progressive C++ projects to learn OOP
https://github.com/link-wolf/42-piscine_cpp

42 42born2code 42school cpp macos

Last synced: 2 months ago
JSON representation

42 project - 9 progressive C++ projects to learn OOP

Awesome Lists containing this project

README

          


Link-Wolf - 42-Piscine_CPP
42 grade - 125 / 100
Year - 2022
stars - 42-Piscine_CPP
forks - 42-Piscine_CPP
issues - 42-Piscine_CPP
OS - macOS





Logo

42-Piscine_CPP


I’ve never thought i would miss C

Introduction to Object-Oriented Programming




Report Bug
·
Request Feature


Table of Contents



  1. About The Project


  2. Getting Started


  3. Usage

  4. Roadmap

## About The Project



cpp logo

There are 9 different small C++ projects which aim to teach us all basic C++ concepts step by step
For this projects, the code should comply with C++98 standard (compile with `-std=c++98` flag)
So C++11 and `Boost` libraries are forbidden, as well as `*printf()`, `*alloc()` and `free()` functions to use as much as possible the C++-ish versions of the C functions

Here are all the C++ concepts discussed :

- Namespaces, classes, member functions, `stdio` streams, static, const
- Memory allocation, pointers to members, references, `switch` statement
- Polymorphism, operator overloading and canonical form
- Inheritance
- Polymorphism by sub-typing, abstract classes, interfaces
- Exceptions
- C++ casts
- Templates
- Containers templates, iterators, algorithms

## Getting Started

Because they're simple C++ programs, there isn't much to say here

### Prerequisites

Having a C++ compiler like c++

### Installation

1. Clone the repo
```sh
git clone https://github.com/Link-Wolf/42-Piscine_CPP.git
```
2. Compile one of the exercice, in one of the sub-projects
```sh
cd 42-Piscine_CPP/Cpp0X/exXX; make
```
3. Execute the program
```sh
./exXX
```

(back to top)

## Usage

Test differents exercices in differents sub-projects and have fun..i guess ?

#### Example

```sh
your_terminal$ ./ex01
```

#### Output

```
< May the Bureaucratie (and form) artificial nightmare begin >

Michelle, bureaucrat grade 129
Michelle, bureaucrat grade 129 couldn't sign Form Inscription au cours de B.D.S.M. (Big Data Security Managment), with grade 100 required to be signed and grade 100 required to be executed with the following signed status : 0 because GradeTooLowExeption : Grade too low :(
GradeTooLowExeption : Grade too low :(

BoB, bureaucrat grade 1
BoB, bureaucrat grade 1 signed Form Creation du cours de Twerk Spacial, with grade 100 required to be signed and grade 100 required to be executed with the following signed status : 1
Form Creation du cour de Twerk Spacial, with grade 100 required to be signed and grade 100 required to be executed with the following signed status : 1

Form Default, with grade 150 required to be signed and grade 150 required to be executed with the following signed status : 0
GradeTooLowExeption : Grade too low :(
```

(back to top)

## Roadmap

- [ ] Make a better and more detailed readme (for each sub-project ?)

See the [open issues](https://github.com/Link-Wolf/42-Piscine_CPP/issues) for a full list of proposed features (and known issues).

(back to top)