Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ZayacV
2 / 2 / 2
Регистрация: 27.10.2013
Сообщений: 72
#1

Виртуальные методы - C++

21.05.2014, 18:25. Просмотров 153. Ответов 1
Метки нет (Все метки)

Дан родительский класс Animal (поле кличка). И два наследованных от него класса-потомка: Cat (поле рост - h), Dog(поле рост - h). Полиморфные методы: вес животного (Кот - 15*h*h*h, Собака - 10*h*h*h). Потомки должны содержать виртуальные функции. Для родительского объекта создать статическую функцию выдачи результатов расчета виртуальной функции на экран монитора.
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
#include <iostream>
using namespace std;
 
class Animal
{
private:
    char Name; // кличка животного
public:
    void SetName(char s);
    int GetName();
    virtual int weight();
    int Static(int H);
};
 
class Dog : public Animal
{
private:
    int height; // рост
public:
    Dog();
    void SetHeight(int s);
    int weight(); 
};
 
class Cat : public Animal
{
private:
    int height;
public:
    Cat();
    void SetHeight(int r);
    int weight();
};
как доделать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2014, 18:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Виртуальные методы (C++):

Виртуальные методы - C++
народ вот пример с виртуальными методами, и вывод этой программы class Ancestor { public: virtual void function1 () { cout...

Виртуальные методы - C++
Здраствуйте , вот писал виртуальный метод доступа но почему то не получаеться , подскажите почему ??? заранее спасибо ...

виртуальные методы - C++
как вызвать виртуальный метод базового класса из наследуемого класса? struct A { virtual void vf() { printf(&quot;A&quot;); } ...

Виртуальные методы - C++
...в голове не укладываются. Помогите кто может :confusion: У меня про них сложилось впечатление, что они только усложняют жизнь. Если...

Виртуальные методы - C++
Всем доброго времени суток! Вопрос следующий. Как я могу функцией делать подмену виртуального метода у класса?

виртуальные методы - C++
#include&lt;iostream&gt; #include&lt;stdlib.h&gt; using namespace std; class MArray { protected: static const int MAX=512; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nmcf
5309 / 4629 / 1548
Регистрация: 14.04.2014
Сообщений: 18,437
21.05.2014, 18:42 #2
У тебя имя в один символ помещается? Может надо массив char?
Примерно так:
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
class Animal
{
private:
    char Name[15]; // кличка животного
public:
    void SetName(char *s)
{
    strcpy(Name, s);
}
    void GetName(char * s)
{
    strcpy(s, Name);
}
    virtual int weight();
    int Static(int H);
};
 
class Dog : public Animal
{
private:
    int height; // рост
public:
    Dog();
    void SetHeight(int h)
{
    height = h;
}
    int weight()
{
    return 10 * height * heigth;
}
};
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2014, 18:42
Привет! Вот еще темы с ответами:

Наследование и виртуальные методы - C++
Начал разбираться с темой наследование и не совсем понимаю как наследуются виртуальные методы, конструкторы и деструкторы виртуальные и...

Виртуальные методы(теория) - C++
Здравствуйте уважаемые форумчане! В ходе обучения языку с++ возник вопрос непонимания назначения виртуальных методов. Попытался...

Виртуальные методы в структурах - C++
Почему не рекомендуется, или, даже, запрещено использовать виртуальные методы в структурах? Добавлено через 1 минуту И почему тоже...

Виртуальные методы класса - C++
Скажите, зачем нужны виртуальные методы? Почему нельзя использовать стандартные? Спасибо.


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

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

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