С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
9 / 9 / 3
Регистрация: 09.12.2012
Сообщений: 219
1

Не могу понять одну тонкость наследования

12.10.2014, 00:29. Показов 429. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер!
Не понимаю следующее:
C++
1
2
3
4
5
6
7
8
9
10
11
class base
{
    
};
 
class child : public base
{
    
};
 
base* c = new child();
Я понимаю что такое наследование, но что именно такая конструкции инициализации творит?
Чем это отличается от
C++
1
child* c = new child();
??
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.10.2014, 00:29
Ответы с готовыми решениями:

Не могу понять одну вещь в ряде Лорана
Кольца аналитичности | z | < 1, 1 < | z | < 3, | z | > 3. Раскладываем дробь на элементарные...

Метод Ньютона (не могу понять одну вешь)
Здравствуйте, дано задание по методам Ньютона. Его я уже сделал, но входе выполнения задания я...

маткад выдает одну и ту же ошибку. не могу понять, что не так
при присвоении функциям А и В данных и дальнейших расчетах маткад выделяет А и пишет "эта...

Пытаюсь понять комбинаторику.Не могу понять какую формулу использовать
Добрый день. Уже второй день бьюсь над комбинаторикой. Проблема стоит в том, что не могу понять,...

3
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2014, 00:50 2
Цитата Сообщение от Warezovvv Посмотреть сообщение
Я понимаю что такое наследование
А что такое полиморфизм?
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
12.10.2014, 02:31 3
Цитата Сообщение от Warezovvv Посмотреть сообщение
Чем это отличается от
Тем что в первом случае можно сделать так:
C++
1
2
3
4
5
6
7
switch(x)
{
case 0:c=new first_child();break;
case 1:c=new second_child();break;
default:assert(false);
}
c->some_virtual_method();
Если виртуальных методов у вас нет, то такое шаманство скорее всего не понадобится. Хотя, конечно, ситуации разные бывают.
0
2686 / 2258 / 244
Регистрация: 03.07.2012
Сообщений: 8,216
Записей в блоге: 1
12.10.2014, 13:09 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class First {
public:
    void show() {cout<<"First"<<endl;}
};
class Second:public First {
public:
    void show() {cout<<"Second"<<endl;}
};
void test()
{
    First *o1=new First();
    First *o2=new Second();
    Second *o3=new Second();
    o1->show(); // покажет First
    o2->show(); // покажет First, хотя на самом деле это Second !
    o3->show(); // // покажет Second
}
0
12.10.2014, 13:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.10.2014, 13:09
Помогаю со студенческими работами здесь

Как понять поставленную задачу. Не могу понять этот полиморфизм?
A software academy teaches two types of courses: local courses that are held in some of the...

Стек на основе массива структур - эт как понять читаю литературу и не могу понять!
Стек статически (на основе массива структур). Пример структура &quot;Товар&quot; которая включает в себя: №...

Не могу понять понять смысл резидентной программы
Суть препод кинул резидент, сказал чтобы сами разбирались. Увидел что ее выкладывали уже, но в...

Не могу сделать полиморфизм. Не могу до конца понять пример по этому поводу
Есть такая задача: Класс Animal должен быть абстрактным, имеет имя и вес. Класс Reptile имеет...

Тонкость теории отрезков и векторов
В Милованове М.В. Алгебра и аналитическая геометрия (в 1 книге) сказано на стр 198: ...

Не могу понять почему не могу считать символьный ряд через cin.getline
Не могу понять почему не могу считать символьный ряд через cin.getline.Помогите позязя. #define ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru