{"id":30441175,"url":"https://github.com/nhmikami/42-cpp","last_synced_at":"2025-08-23T06:42:01.148Z","repository":{"id":306172315,"uuid":"997938458","full_name":"nhmikami/42-cpp","owner":"nhmikami","description":"Introduction to object-oriented programming","archived":false,"fork":false,"pushed_at":"2025-07-31T20:37:15.000Z","size":340,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-31T23:12:15.200Z","etag":null,"topics":["cpp","oop"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nhmikami.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-07T14:19:40.000Z","updated_at":"2025-07-31T20:37:19.000Z","dependencies_parsed_at":"2025-07-24T04:39:55.067Z","dependency_job_id":"54c3e977-ffe7-42e8-a44a-25b0f90da2fc","html_url":"https://github.com/nhmikami/42-cpp","commit_stats":null,"previous_names":["nhmikami/42-cpp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nhmikami/42-cpp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nhmikami%2F42-cpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nhmikami%2F42-cpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nhmikami%2F42-cpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nhmikami%2F42-cpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nhmikami","download_url":"https://codeload.github.com/nhmikami/42-cpp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nhmikami%2F42-cpp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271745674,"owners_count":24813521,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-23T02:00:09.327Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","oop"],"created_at":"2025-08-23T06:41:56.353Z","updated_at":"2025-08-23T06:42:01.105Z","avatar_url":"https://github.com/nhmikami.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 42-cpp\n\nThis repository contains the C++ modules developed as part of the 42 curriculum. Each module introduces core C++ concepts through practical exercises, aiming to build a solid understanding of object-oriented programming.\n\n\n## Modules Overview\n\n### 📦 cpp00\n\u003e **Foundations of C++**\n- Namespaces\n- Classes and member functions\n- Standard I/O streams\n- Initialization lists\n- `static` and `const` keywords\n- Basic C++ syntax and structure\n\n### 💡 cpp01\n\u003e **Memory and References**\n- Dynamic memory allocation\n- Pointers and references\n- Pointers to member functions\n- `switch` statements\n- Introduction to file I/O using `ifstream` and `ofstream`\n\n### ⚙️ cpp02\n\u003e **Ad-hoc Polymorphism**\n- Operator overloading\n- Function overloading\n- Canonical Orthodox Form (\"Rule of Four\")\n- Constructors, destructors, copy constructors, assignment operators\n\n### 🧬 cpp03\n\u003e **Inheritance**\n- Basic inheritance and derived classes\n- Use of `public`, `protected`, and `private` inheritance\n- Constructors and destructors order in inheritance\n\n### 🧠 cpp04\n\u003e **Polymorphism and Abstractions**\n- Subtype polymorphism using virtual functions\n- Abstract classes and interfaces\n- Virtual destructors\n- Deep dive into runtime behavior of polymorphic types\n\n### 🛑 cpp05\n\u003e **Exceptions and Error Handling**\n- Use of `try`, `catch`, and `throw` keywords\n- Exception class hierarchy\n- Custom exception classes\n- Best practices for error handling in C++\n\n### 🔁 cpp06\n\u003e **Casting in C++**\n- `static_cast`, `dynamic_cast`, and `reinterpret_cast`\n- Use cases and limitations of each cast\n- Type conversions and their implications\n\n### 🧩 cpp07\n\u003e **Templates**\n- Function templates\n- Class templates\n- Function objects (functors)\n- Template specialization and partial specialization\n\n### 🧵 cpp08\n\u003e **Templated Containers and Algorithms**\n- Custom containers with templates\n- Iterators and iterator categories\n- Generic algorithms from the STL\n\n### 🗃️ cpp09\n\u003e **Standard Template Library (STL)**\n- Overview of STL containers: vector, list, deque, map, set\n- STL algorithms and utilities\n- Time and space complexity of STL operations\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnhmikami%2F42-cpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnhmikami%2F42-cpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnhmikami%2F42-cpp/lists"}