Coder Social home page Coder Social logo

42-cpp_modules's Introduction

42 Cpp Modules

This repository contains the source code for the 42 Cpp modules. Each module is a different project that covers a specific topic in C++ programming. The modules are part of the 42 Cpp curriculum and are meant to be completed in order.

Modules Overview

# Module Introduction Topics Covered Language Status Comments
00 Module 00 Introduction to C++ Namespaces, classes, member functions, stdio streams, initialization lists, static, const C++ ✅ 80 Basic C++ concepts
01 Module 01 Memory allocation, pointers Memory allocation, pointers to members, references, switch statement C++ ✅ 100 Intermediate concepts
02 Module 02 Ad-hoc polymorphism, operator overloading Ad-hoc polymorphism, operator overloading, Orthodox Canonical class form C++ ✅ 80 Advanced concepts
03 Module 03 Inheritance and Encapsulation Inheritance, constructors and destructors chaining, class hierarchies, access specifiers, special member functions C++ ✅ 80 Inheritance and encapsulation concepts
04 Module 04 Polymorphism, Abstract classes Abstract classes Polymorphism, abstract classes, interfaces, pure virtual functions C++ ✅ 80 Polymorphism and abstract concepts

Exercises Overview

Module Exercise Objectives Status
00 Exercise 00: Megaphone Implement a simple program to repeat input in uppercase ✅ Done
00 Exercise 01: My Awesome PhoneBook Create a simple phonebook using classes and object-oriented programming ✅ Done
00 Exercise 02: The Job Of Your Dreams Recreate a lost file for a banking application ❌ Not Started
01 Exercise 00: BraiiiiiiinnnzzzZ Introduction to memory allocation and class implementation ✅ Done
01 Exercise 01: Moar brainz! More practice with memory allocation and pointers ✅ Done
01 Exercise 02: HI THIS IS BRAIN Advanced memory management techniques ✅ Done
01 Exercise 03: Unnecessary violence Implementing classes with complex behaviors ✅ Done
01 Exercise 04: Sed is for losers More advanced C++ features and file operations ✅ Done
01 Exercise 05: Harl 2.0 Working with advanced class implementations ✅ Done
01 Exercise 06: Harl filter Filtering and managing complex data structures ✅ Done
02 Exercise 00: My First Class in Orthodox Canonical Form Implementing a class in canonical form ✅ Done
02 Exercise 01: Towards a more useful fixed-point number class Enhancing the fixed-point number class ✅ Done
02 Exercise 02: Now we're talking Implementing advanced features in the fixed-point class ✅ Done
02 Exercise 03: BSP Implementing Binary Space Partitioning ❌ Not Started
03 Exercise 00: Aaaaand... OPEN! Implementing a basic class with specific attributes and functions ✅ Done
03 Exercise 01: Serena, my love! Creating a derived class with specific constructors and functions ✅ Done
03 Exercise 02: Repetitive work Implementing another derived class with specific attributes and functions ✅ Done
03 Exercise 03: Now it’s weird! Creating a complex class that inherits from multiple classes ❌ Not Started
04 Exercise 00: Polymorphism Implementing polymorphism in classes ✅ Done
04 Exercise 01: I don’t want to set the world on fire Implementing deep copies and managing dynamic memory ✅ Done
04 Exercise 02: Abstract class Implementing abstract classes to prevent instantiation of base classes ✅ Done
04 Exercise 03: Interface & recap Implementing interfaces and ensuring understanding of module concepts ❌ Not Started

Rules

42-cpp_modules's People

Contributors

zelhajou avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.