{"id":27641399,"url":"https://github.com/tanner-davison/cpp_class_overloading","last_synced_at":"2026-01-30T08:45:18.966Z","repository":{"id":253065204,"uuid":"839685448","full_name":"Tanner-Davison/cpp_class_overloading","owner":"Tanner-Davison","description":"Demonstrates object-oriented programming concepts such as dynamic memory management, copy constructors, assignment operators, and the creation of custom data structures like an ArrayList. The ArrayList class manages a dynamically allocated array of characters","archived":false,"fork":false,"pushed_at":"2024-12-08T09:40:55.000Z","size":115289,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-30T04:51:12.260Z","etag":null,"topics":["c","cpp","dynamic-memory-management"],"latest_commit_sha":null,"homepage":"","language":"Makefile","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/Tanner-Davison.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}},"created_at":"2024-08-08T05:59:55.000Z","updated_at":"2024-12-27T10:23:26.000Z","dependencies_parsed_at":"2024-12-08T10:21:37.886Z","dependency_job_id":"ce1210cd-ac34-4b1e-b7ea-81c2b7a2b358","html_url":"https://github.com/Tanner-Davison/cpp_class_overloading","commit_stats":{"total_commits":67,"total_committers":3,"mean_commits":"22.333333333333332","dds":"0.14925373134328357","last_synced_commit":"c506bf8d9b474f9b1a6af49975380dcd4485a578"},"previous_names":["tanner-davison/overloaded-classes-by_tanner_davison","tanner-davison/cpp_class_overloading"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tanner-Davison%2Fcpp_class_overloading","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tanner-Davison%2Fcpp_class_overloading/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tanner-Davison%2Fcpp_class_overloading/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tanner-Davison%2Fcpp_class_overloading/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tanner-Davison","download_url":"https://codeload.github.com/Tanner-Davison/cpp_class_overloading/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250535084,"owners_count":21446504,"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","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":["c","cpp","dynamic-memory-management"],"created_at":"2025-04-23T23:47:04.194Z","updated_at":"2026-01-30T08:45:18.932Z","avatar_url":"https://github.com/Tanner-Davison.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Project Name: **Overloaded-Classes-by_Tanner_Davison**\n\n### Description\n**Overloeaded-Classes** is a C++ project that demonstrates object-oriented programming concepts such as dynamic memory management, copy constructors, assignment operators, and the creation of custom data structures like an `ArrayList`. The `ArrayList` class manages a dynamically allocated array of characters, providing basic operations such as printing the list and copying data between instances.\n\n### Features\n- **Dynamic Memory Management**: The `ArrayList` class dynamically allocates memory for an array of characters and ensures proper memory management with destructors.\n- **Copy Constructor**: Safely creates a copy of an `ArrayList` object, duplicating the contents of the original list.\n- **Copy Assignment Operator**: Handles assigning one `ArrayList` object to another, ensuring deep copying of the array contents.\n- **List Printing**: A method to print the contents of the list to the console.\n\n### Example Usage\n\n1. **Create an `ArrayList` Instance**:\n    ```cpp\n    ArrayList myList(10); // Create an ArrayList with a length of 10\n    ```\n\n2. **Print the List**:\n    ```cpp\n    myList.printList(); // Outputs the current contents of the list (initially empty/zeroed)\n    ```\n\n3. **Copy the `ArrayList` Using the Copy Constructor**:\n    ```cpp\n    ArrayList copiedList(myList); // Create a new ArrayList as a copy of myList\n    copiedList.printList(); // Outputs the copied list contents\n    ```\n\n4. **Assign One `ArrayList` to Another**:\n    ```cpp\n    ArrayList anotherList(5); // Create another ArrayList with a length of 5\n    anotherList = myList; // Assign the contents of myList to anotherList\n    anotherList.printList(); // Outputs the updated contents of anotherList\n    ```\n\n### Compilation and Execution\nTo compile and run this project, use a C++ compiler such as g++:\n\n```sh\ng++ -o entity_arraylist entity_arraylist.cpp\n./main\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftanner-davison%2Fcpp_class_overloading","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftanner-davison%2Fcpp_class_overloading","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftanner-davison%2Fcpp_class_overloading/lists"}