Skip to content

lyandriy/C-Plus-Plus

Repository files navigation

42 C++ Projects

Welcome to the repository for the C++ projects from the School 42 curriculum. This repository contains various projects designed to teach and reinforce C++ programming concepts through practical applications. Each project aims to develop different aspects of C++ programming and system design.

Overview

The C++ curriculum at School 42 is divided into several modules, each focusing on different areas of C++ programming, including fundamental concepts, object-oriented programming, templates, memory management, and more. Below is a brief description of the general objectives and topics covered in these projects.

Projects Included

  1. Introduction to C++

    • Objective: Get acquainted with the basic syntax and structure of C++. Learn fundamental programming concepts and the basics of object-oriented programming.
    • Key Topics: Functions, variables, data types, control flow.
  2. Object-Oriented Programming (OOP)

    • Objective: Understand and apply OOP principles such as classes, inheritance, and polymorphism. Dive deeper into constructors, destructors, and encapsulation.
    • Key Topics: Classes and objects, inheritance, polymorphism, encapsulation.
  3. Advanced OOP and Design Patterns

    • Objective: Explore more advanced OOP concepts and design patterns. Implement and understand concepts like operator overloading, abstract classes, and various design patterns.
    • Key Topics: Operator overloading, abstract classes, design patterns (e.g., Singleton, Factory).
  4. Templates and Standard Template Library (STL)

    • Objective: Learn about generic programming using templates and the STL. Understand how to use and implement STL containers, iterators, and algorithms.
    • Key Topics: Function and class templates, STL containers (vector, map, set), algorithms.
  5. Memory Management

    • Objective: Gain proficiency in dynamic memory management, including the use of smart pointers and resource management techniques.
    • Key Topics: Dynamic memory allocation, smart pointers (std::unique_ptr, std::shared_ptr), RAII.
  6. File I/O and Serialization

    • Objective: Implement file input/output operations and data serialization techniques to handle data storage and retrieval.
    • Key Topics: File streams (ifstream, ofstream), binary and text file operations, serialization.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published