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

https://github.com/0bvim/cpp

Namespaces, classes, member functions, stdio streams, initialization lists, static, const, and some other basic stuff
https://github.com/0bvim/cpp

42projects 42school 42sp clang cpp makefile

Last synced: 9 months ago
JSON representation

Namespaces, classes, member functions, stdio streams, initialization lists, static, const, and some other basic stuff

Awesome Lists containing this project

README

          

# Introducing to Object-oriented programming `(OOP)`
>Namespaces, classes, member functions, stdio streams in C++

### Note
I developed this modules without *TDD* `(Test-driven development)` but now I start to implement it
from the first exercices.

If you wanna run tests go for this [section](#google-test-framework)

---

# About modules and exercices
## ![Module 00](module_00/)
> This module is to learn about syntax of language and understand how
> to create a class and methods, read a code made in cpp and implement classes using this
> provided files as base.

## ![Module 01](module_01/)
> This module is about pointers to members, memory allocation, references, switch statements.

## ![Module 02](module_02/)
> This module is about polymorphism, ![operator overloading](https://www.geeksforgeeks.org/operator-overloading-cpp/) and ![Orthodox Canonical class form](https://www.francescmm.com/orthodox-canonical-class-form/)

## ![Module 03](module_03/)
> This module is about inheritance in general, and about the ![diamond problem](https://www.makeuseof.com/what-is-diamond-problem-in-cpp/).

## ![Module 04](module_04/)
> This module is about ![subtype polymorphism](https://stackoverflow.com/questions/23505346/conceptual-difference-between-parametric-polymorphism-and-subtype-polymorphism), abstract classes and interfaces.

## ![Module 05](module_05/)
> This module is to trainning the past concepts and work with exceptions.

## ![Module 06](module_06/)
> This module is about casting, conversion of scalar types, serialization, identify real type and so forth.

## ![Module 07](module_07/)
> This module is about templates, how to use and create them.

## ![Module 08](module_08/)
> This module we start to work with ![STL](https://www.simplilearn.com/tutorials/cpp-tutorial/cpp-standard-template-library) `(standard template library)`, templated containers and more iterators.

## ![Module 09](module_09/)
> This module force in every exercice to use *STL*.

---

# Google Framework
You should install google tests framework on your system if you don't have yet or run it in a codespaces or a container ~docker~
this is the repository with documentation ![google test framework](https://github.com/google/googletest)

If you install correctly, (in root directory of exercice like `ex00`) type `make run_tests` and output should be like this ~~(module_00/ex00)~~:

![image](https://github.com/0bvim/cpp/assets/130008311/253086d5-105f-40cf-be85-82c6a2e51c17)