#Разработка классов царства животных (Animal)
Разработать абстрактный класс Animal(от него будем наследовать все остальные).
Поля:
- «вес» float mass;
- «пол» char* sex;
- «окрас» char*(or String) color;
- «возраст» int age; Функции:
- Animal(...) - конструкторы по умолчанию, инициализации, копирования, перемещения(переноса).
- virtual ~Animal() - деструктор.
- метод получения веса float GetMass();
- метод получения пола char* GetSex();
- метод получения возраста int GetAge();
- метод получения окраски char* GetColor();
- cеттеры на все поля: SetMass(), SetSex(), SetAge(), SetColor().
- Чисто виртуальная функция WhatDoesSay() - будет реализованна для дочерних классов животных(Кошка говорит - мяу и тд)
Реализовать класс Dog унаследовать от Animal. Для класса Dog требуется реализовать enum class Breed (порода). Заполнить минимум 10 вариантами.
Поля:
- «кличка» char* name;
- «порода» Breed race;
Функции:
- сделать override метода WhatDoesSay()
- Dog(...) - конструкторы по умолчанию, инициализации,копирования, перемещения(переноса).
- ~Dog() - деструктор.
- operator= - копирующее присваивание.
- operator= - перемещающее присваивание.
- метод получения клички float GetName();
- метод получения породы char* GetRace();
- cеттеры на новые поля: SetName(), SetRace().
Реализовать класс Fox унаследовать от Animal. Для класса Fox требуется реализовать enum class TypeFox (вид лисы(порода лисы)). Заполнить минимум 5 вариантами.
Поля:
- «кличка» char* name;
- «вид лисы(порода лисы)» TypeFox type;
- «кол-во съеденных кроликов» int numberRabbitsEaten;
Функции:
- сделать override метода WhatDoesSay() Из видео: https://www.youtube.com/watch?v=jofNR_WkoCE взять what does the fox say и реализовать WhatDoesSay() так, что то, что говорит лиса зависит от ее поля type
- Fox(...) - конструкторы по умолчанию, инициализации,копирования, перемещения(переноса).
- ~Fox() - деструктор.
- operator= - копирующее присваивание.
- operator= - перемещающее присваивание.
- метод получения породы char* GetType();
- метод получения кол-ва съеденных кроликов char* GetNumberRabbitsEaten();
- cеттеры на поля: SetNumberRabbitsEaten(), SetType().
- метод Eat() при его вызове кол-во съеденных кроликов++.
Написать демонстрационную программу с использованием созданных классов.
Необходимо оформить код в соответствии со стандартом, описанном в https://google.github.io/styleguide/cppguide.html . Статья на хабре на русском: https://habr.com/ru/articles/480422/ Ссылка на гитхаб чекера: https://github.com/cpplint/cpplint