0 / 0 / 0
Регистрация: 09.03.2021
Сообщений: 19
1

Исправить код для наследования класса

22.10.2021, 12:03. Показов 350. Ответов 1
Метки нет (Все метки)

Как исправить код и доделать код
Разработать программу с использованием наследования классов, реализующую классы
Крылатое существо :
-птица(название, водоплавающая или нет, хищная или нет, умеет ли летать)
-летучая мышь(чем питается, ареал распространения, вес особи)
-птеродактиль(эра существования)
Используя чистые виртуальные функции, вывести на экран характеристики каждого из объектов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <iostream>
#include <cstring>
using namespace std;
class Winged_Creature
{
    int height;
public:
    Winged_Creature(int _height)
    {
        height = _height;
    }
    virtual ~ Winged_Creature()= default;
    virtual void showInfo() = 0;
};
class Bird :public Winged_Creature
{
    char* name;
    char* waterfowl;
    char* predatory;
    char* fly;
public:
    Bird(int _height, char* _name, char* _waterfowl, char* _predatory, char* _fly):
        Winged_Creature(_height)
    {
        name = new char[strlen(_name) + 1];
        strcpy(name, _name);
        waterfowl = new char[strlen(_waterfowl) + 1];
        strcpy(waterfowl, _waterfowl);
        predatory = new char[strlen(_predatory) + 1];
        strcpy(predatory, _predatory);
        fly = new char[strlen(_fly) + 1];
        strcpy(fly, _fly);
    }
    virtual ~Bird() override {}
    virtual void showInfo()
    {
        cout << "Название" << endl;
        cout << " Водоплавающая или нет " << endl;
        cout << "Хищная или нет " << endl;
        cout << "Умеет ли летать" << endl;
    }
};
class Bat :public Winged_Creature
{
    char* nutrition;
    char* areal;
    char* weight;
public:
    Bat(int _height, char* _nutrition, char* _areal, char* _weight) :
        Winged_Creature(_height)
    {
        nutrition = new char[strlen(_nutrition) + 1];
        strcpy(nutrition, _nutrition);
        areal = new char[strlen(_areal) + 1];
        strcpy(areal, _areal);
        weight = new char[strlen(_weight) + 1];
        strcpy(weight, _weight);
    }
    virtual ~Bat() override {}
    virtual void showInfo()
    {
        cout << "Чем питается" << endl;
        cout << "Ареал распространения" << endl;
        cout << "Вес особи " << endl;
    }
 
};
class Pterodactyl :public Winged_Creature
{
    char* era;
public:
    Pterodactyl(int _height, char* _era) :
        Winged_Creature(_height)
    {
        era = new char[strlen(_era) + 1];
        strcpy(era, _era);
    }
    virtual ~Pterodactyl() override {}
    virtual void showInfo()
    {
        cout << "Эра существования" << endl;
    }
};
int main()
{
    setlocale(LC_ALL,"Rus");
    Winged_Creature* a=new Bird (15,"водоплавающая", "нехищная", "летает");
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.10.2021, 12:03
Ответы с готовыми решениями:

Чем отличаются структуры для наследования интерфейса от структур для наследования реализаций?
Дорогие программисты, во первых, хочу поздравить вас с Наступающим новым Годом! Я к вам обращаюсь с...

Исправить код класса "Книги" для корректной записи информации в файл по заданным параметрам
using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Создание своего класса кнопки с использованием наследования от класса UserControl
Ребят, помогите, такая проблема: создаю класс MyButton в C# при помощи наследования от класса...

Передвинуть фигуры класса (исправить код)
Очень помощь нужна. В задаче надо было создать три фигуры: крест, прямую и круг с помощью классов и...

Исправить код. Создание класса наследник
Привет,Пожалуйста помогите исправить ошибку в коде! include &quot;stdafx.h&quot; #include &lt;iostream&gt;...

1
Эксперт CЭксперт С++
3458 / 2038 / 1113
Регистрация: 14.12.2018
Сообщений: 4,001
Записей в блоге: 1
22.10.2021, 12:13 2
Цитата Сообщение от jhgit Посмотреть сообщение
Bird(int _height, char* _name, char* _waterfowl, char* _predatory, char* _fly)
Цитата Сообщение от jhgit Посмотреть сообщение
new Bird (15,"водоплавающая", "нехищная", "летает");
В конструкторе для класса Bird нужны 5 параметров, но вы передали в него 4 параметра, это не корректно !
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.10.2021, 12:13
Помогаю со студенческими работами здесь

Создание объекта производного класса в базовом, исправить код
Ув. форумчане, помогите разобраться в следующем вопросе: каким образом работает следующий код, а...

Вывод периметра/площади/типа из класса треугольника (исправить код)
Добрый вечер. Такие дела: на то, что в main, ругается, а я пока не знаю, почему. Надеюсь на вашу...

Проблема наследования от шаблонного класса.
Привет всем! У меня есть шаблонный класс, и наследуемый от него шаблонный класс. Базовый: ...

Использование наследования от класса vector
Хочу использовать свой класс, который будет наследоваться от std::vector. Случайно нашел несколько...

Пример наследования от класса PushButton
Приведите пример наследования на ЯП от класса PushButton с переопределением методов


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru