Uma série de projetos rigorosamente alinhados com as normas da 42, que vai do CPP 00 ao CPP 09, projetada para desenvolver habilidades em Programação Orientada a Objetos e C++ moderno.
Antes de cada módulo, revisamos os conceitos principais abordados (como classes, polimorfismo, templates, etc.).
Criamos código limpo, documentado e em conformidade com as normas da 42.
Garantimos que o código funcione perfeitamente e atenda aos requisitos do projeto.
- Introdução ao C++: classes, objetos, namespaces e boas práticas.
- Objetivo: Aprender a diferenciar entre atributos privados, públicos e o uso do
std::string.
Module 00 - Namespace, class, member functions, stdio stream, initialization lists, static
- ex00 - String manipulation and command-line argument handling
- ex01 - Classes, Object instantiation, Basic I/O, String manipulation
- ex02 - File recreation, C++ programming, Object-oriented design
Resources:
- OOP in CPP: GeeksforGeeks
- std::cin.getline() vs. std::cin: Stack Overflow
- atoi() in cpp strings: Stack Overflow
- string.length() vs. string.size(): Stack Overflow
- Constructors in CPP: GeeksforGeeks
- Destructors in CPP: GeeksforGeeks
- C++: cin.getline - no instance of overload function: Stack Overflow
- C++ iomanip Library: YouTube
- Alocação dinâmica, construção e destruição de objetos.
- Objetivo: Implementar um sistema de contato usando classes e arrays.
Module 01 - Memory allocation, References, Pointers to members, File streams
-
ex00 - Classes, Member Functions, Pointers, Memory Allocation (stack vs. heap), Destructors
-
ex01 - Arrays of Objects, Memory Allocation (array of objects), Object Initialization
-
ex03 - Composition, Aggregation, Object Relationships, Constructors, Setters
-
ex05 - Member Functions, Pointers to Member Functions, Enumeration, Logging
-
References in CPP: GeeksforGeeks
-
Pointer to member functions: CodeGuru
-
C++ Pointers - GeeksforGeeks: GeeksforGeeks
-
How to Read File Line by Line in C++: Medium
-
C++ File Handling: How to Open, Write, Read, Close Files in C++: Guru99
- Operadores sobrecarregados e referências.
- Objetivo: Criar um sistema simples de controle de pontos flutuantes.
Module 02 - Ad-hoc polymorphism, operators overload, and canonical classes
-
ex01 - Constructors (from int and float), Member Functions (toFloat, toInt), Operator Overloading
-
Introduction to Fixed Point Number Representation: CS61c Spring 2006
-
Back To Basics! Fixed Point Numbers in C++: YouTube
-
Understanding and Using Floating Point Numbers : Cprogramming
-
Printing floating point numbers - Cprogramming.com: Cprogramming.com
-
Copy Constructor in C++ - GeeksforGeeks: GeeksforGeeks
-
Overloading the assignment operator - LearnCpp.com: LearnCpp.com
-
Floating and fixed point representation in C++: Medium
-
Fixed Point Notation Basics : YouTube
-
Decimal to Floating Point Conversion : YouTube
-
IEEE 754 Standard for Floating Point Binary Arithmetic : YouTube
-
OPERATORS and OPERATOR OVERLOADING in C++ : YouTube
-
Overloading Increment and Decrement Operators in Postfix form : YouTube
-
Overloading ++ for both pre and post increment : stackoverflow
-
Check if a point lies inside a triangle : YouTube
- Herança simples e boas práticas.
- Objetivo: Desenvolver um modelo com herança e encapsulamento.
Module 03 - Inheritance
- Polimorfismo e classes abstratas.
- Objetivo: Explorar conceitos avançados de hierarquia.
Module 04 - Subtype polymorphism, abstract classes, interfaces
- ex00 - Polymorphism, Inheritance, Virtual Functions
- ex01 - Memory Management, Deep Copy
- ex02 - Abstract Classes
- Polymorphism in C++ | Compile time vs Run time Polymorphism: YouTube
- C++ Subtype Polymorphism and Virtual Functions: YouTube
- Virtual Functions & Abstract Classes in C++: YouTube
- Abstract Classes And Pure Virtual Functions: YouTube
- Declare abstract class in c++: stackoverflow
- C++ Programming/Classes/Abstract Classes/Pure Abstract Classes: Wikibooks
- What is the difference between abstract class and pure abstract class in C++?: stackoverflow
- Interfaces in C++ (Pure Virtual Functions: YouTube
- Interfaces in C++ (Pure virtual functions): YouTube
- C++ Programming: Abstract and Interface Classes: YouTube
- Abstract Class vs Pure Abstract Class | Interface | OOP C++: YouTube
- What are Forward declarations in C++: geeksforgeeks
- What are forward declarations in C++?: stackoverflow
- C++ : How to copy / clone a STL List or Sub List: thispointer
- Exceções em C++.
- Objetivo: Lidar com erros e exceções de forma robusta.
- Templates: funções e classes genéricas.
- Objetivo: Resolver problemas que requerem flexibilidade.
Trabalho com containers da STL.
- Objetivo: Aprender a usar
vector,map,deque, etc.
- Programação avançada com STL e algoritmos.
- Objetivo: Resolver problemas complexos de eficiência e ordenação.