Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
keshl
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 9
#1

Полиморфизм, виртуальные функции

26.11.2017, 13:37. Просмотров 72. Ответов 1
Метки нет (Все метки)

Помогите разобраться! В пласе Duck на переменную quacc выдает ошибку в классе Quackbehevior функция определенна как чисто виртуальная,а к примеру в Flybehavior не выдает ошибку.Не могу точно сформулировать проблему. Короче суть в том что я хочу сделать клас MallarDuck в котором функция quacc отвечала классу Quak.
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>
using namespace std;
 
class Flybehavior
{
public:
    virtual void fly() {}
};
 
 
class Flywithwings : public Flybehavior
{
public:
    void fly(){
        cout << "I`m fly!" << endl;
    }
 
};
 
class Flynoway : public Flybehavior
{
public:
    void fly(){
        cout << "I`m not fly!" << endl;
    }
 
};
 
 
class Quackbehevior
{
public:
    virtual void quack() = 0;
}; 
 
class Quak : public Quackbehevior
{
public:
    void quack(){
        cout << "KRA" << endl;
    }
 
};
 
class MuteQuack : public Quackbehevior
{
public:
    void quack(){
        cout << "not KRA" << endl;
    }
 
};
 
 
 
 
class Duck 
{
    
public:
    Flybehavior flyy;
    Quackbehevior quacc;
    virtual void display();
    void perfomFly()
    {
        flyy.fly();
    }
    void perfomQuack()
    {
        quacc.quack();
    }
 
};
 
 class MallarDuck : public Duck
 {
 public:
     MallarDuck(){
         quacc = new Quak();
     }
 
 };
 
 
int main(){
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2017, 13:37
Ответы с готовыми решениями:

Виртуальные функции и полиморфизм
Создать абстрактный базовый класс с виртуальной функцией - сумма прогрессии....

Наследование и полиморфизм.Виртуальные функции
Помогите пожалуйста программу написать. Я новичок и еще не во всем...

Полиморфизм, виртуальные функции, перегрузка функций
Изменить программу предыдущей лабораторной работы, функцию определяющую бьет ли...

Реализовать иерархию классов (использовать наследование, полиморфизм, виртуальные функции)
Первый базовый класс – млекопитающие; поля – способ питания, вес, среда...

Написать реферат за пару часов на тему "Наследование, виртуальные функции и динамический полиморфизм"
Здравствуйте форумчане,нужна помощь. Помогите написать реферат за пару часов...

1
nmcf
6260 / 5572 / 2532
Регистрация: 14.04.2014
Сообщений: 23,464
26.11.2017, 14:19 #2
61-62 должны быть указателями с соответствующим созданием нужных объектов. Или укажи конкретные нужные типы, а не предков.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2017, 14:19

Виртуальные и чисто виртуальные функции
Чем они отличаются?? если можно, с примерами. И как из виртуальной функции...

Полиморфизм, дружественные функции
Всем привет! Имеется такая конструкция: class Base { public: Base();...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru