{"id":21534448,"url":"https://github.com/ilyachvanov/animals","last_synced_at":"2025-03-17T20:14:42.950Z","repository":{"id":226733106,"uuid":"769191494","full_name":"IlyaChvanov/Animals","owner":"IlyaChvanov","description":"🦊🐾A standard project on inheritance","archived":false,"fork":false,"pushed_at":"2024-08-21T10:18:25.000Z","size":700,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-24T07:11:28.551Z","etag":null,"topics":["incapsulation","inheritance","operator-overloading"],"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/IlyaChvanov.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-03-08T14:29:16.000Z","updated_at":"2024-08-21T10:18:29.000Z","dependencies_parsed_at":"2024-03-12T14:28:52.884Z","dependency_job_id":"75c17519-3582-4ba5-a51b-8f79af3f32ef","html_url":"https://github.com/IlyaChvanov/Animals","commit_stats":null,"previous_names":["ilyachvanov/animals"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IlyaChvanov%2FAnimals","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IlyaChvanov%2FAnimals/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IlyaChvanov%2FAnimals/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IlyaChvanov%2FAnimals/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IlyaChvanov","download_url":"https://codeload.github.com/IlyaChvanov/Animals/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244102855,"owners_count":20398386,"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":["incapsulation","inheritance","operator-overloading"],"created_at":"2024-11-24T03:10:48.094Z","updated_at":"2025-03-17T20:14:42.928Z","avatar_url":"https://github.com/IlyaChvanov.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n#Разработка классов царства животных (Animal)\n\n### Задача №1\n\n\u003e Разработать абстрактный класс Animal(от него будем наследовать все остальные). \n\nПоля:\n- **«вес» float  mass**;\n- **«пол» char\\* sex**;\n- **«окрас» char\\*(or String) color**;\n- **«возраст» int age**;\nФункции:\n- **Animal(...)** - конструкторы по умолчанию, инициализации, копирования, перемещения(переноса).\n- **virtual ~Animal()** - деструктор.\n- метод получения веса **float GetMass()**;\n- метод получения пола **char\\* GetSex()**;\n- метод получения возраста **int GetAge()**;\n- метод получения окраски **char\\* GetColor()**;\n- cеттеры на все поля: **SetMass(), SetSex(), SetAge(), SetColor()**.\n- Чисто виртуальная функция **WhatDoesSay()** - будет реализованна для дочерних классов животных(Кошка говорит - мяу и тд)\n\n\u003e Реализовать класс Dog унаследовать от Animal.\nДля класса Dog требуется реализовать enum class Breed (порода). Заполнить минимум 10 вариантами.\n\nПоля:\n- **«кличка» char\\* name**;\n- **«порода» Breed race**;\n\nФункции:\n\n- сделать override метода **WhatDoesSay()**\n- **Dog(...)** - конструкторы по умолчанию, инициализации,копирования, перемещения(переноса).\n- **~Dog()** - деструктор.\n- **operator=** - копирующее присваивание.\n- **operator=** - перемещающее присваивание.\n- метод получения клички **float GetName()**;\n- метод получения породы **char\\* GetRace()**;\n- cеттеры на новые поля: **SetName(), SetRace()**.\n\n\u003e Реализовать класс Fox унаследовать от Animal.\nДля класса Fox требуется реализовать enum class TypeFox (вид лисы(порода лисы)). Заполнить минимум 5 вариантами.\n\nПоля:\n- **«кличка» char\\* name**;\n- **«вид лисы(порода лисы)» TypeFox type**;\n- «кол-во съеденных кроликов» **int numberRabbitsEaten**;\n\nФункции:\n\n- сделать override метода **WhatDoesSay()**\nИз видео: https://www.youtube.com/watch?v=jofNR_WkoCE взять what does the fox say и реализовать \nWhatDoesSay() так, что то, что говорит лиса зависит от ее поля type \n- **Fox(...)** - конструкторы по умолчанию, инициализации,копирования, перемещения(переноса).\n- **~Fox()** - деструктор.\n- **operator=** - копирующее присваивание.\n- **operator=** - перемещающее присваивание.\n- метод получения породы **char\\* GetType()**;\n- метод получения кол-ва съеденных кроликов **char\\* GetNumberRabbitsEaten()**;\n- cеттеры на  поля: **SetNumberRabbitsEaten(), SetType()**.\n- метод **Eat()** при его вызове кол-во съеденных кроликов++.\n\n\n### Задача №2\n\n\u003e Написать демонстрационную программу с использованием созданных классов.\n\n### Задача №3\n\n\u003e Необходимо оформить код в соответствии со стандартом, описанном в https://google.github.io/styleguide/cppguide.html .\n\u003e Статья на хабре на русском: https://habr.com/ru/articles/480422/\n\u003e Ссылка на гитхаб чекера: https://github.com/cpplint/cpplint\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filyachvanov%2Fanimals","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filyachvanov%2Fanimals","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filyachvanov%2Fanimals/lists"}