/04_CPP02_42CC

Introduction to polymorphism, operator overloading and the Orthodox Canonical class form

Primary LanguageC++

C++ Module 02

This repository contains solutions to various C++ programming challenges from the 42 Berlin curriculum. Each module is designed to deepen students' understanding of different programming concepts and techniques.

Exercises

ex00 - My First Class in Orthodox Canonical Form

A class that adheres to the Orthodox Canonical Form in C++.

Key objectives included:

  • Implementing a class with a default constructor, copy constructor, copy assignment operator, and destructor.
  • Demonstrating an understanding of the Orthodox Canonical Form.
  • Ensuring proper resource management and object copying.

ex01 - Towards a more useful fixed-point number class

A more useful fixed-point number class project involves creating a fixed-point number class with arithmetic operations.

Key objectives included:

  • Implementing a fixed-point number class.
  • Overloading arithmetic operators for the class.
  • Demonstrating an understanding of operator overloading and fixed-point arithmetic.

ex02 - Now we’re talking

Extending the fixed-point number class to include comparison operators and other useful methods.

Key objectives included:

  • Extending the fixed-point number class with comparison operators.
  • Adding additional methods for the class.
  • Demonstrating an understanding of operator overloading and class design.

ex03 - BSP

A function to determine if a point is inside a triangle using binary space partitioning.

Key objectives included:

  • Implementing a function to check if a point is inside a triangle.
  • Using binary space partitioning techniques.
  • Demonstrating an understanding of geometric algorithms and binary space partitioning.

Installation

To install the project, follow these steps:

  1. Clone the repository: git clone git@github.com:jakobsitory/04_CPP02_42CC.git
  2. Navigate to the project directory: cd 04_CPP02_42CC
  3. Navigate to the exercise directory : cd ex00, cd ex01 ...
  4. Build the project: make

Usage

Follow the on-screen instructions to add and search for contacts.

ex00 - ex02

./fixed_point

ex03 - BSP

./bsp