Создание объекта |
Здравствуйте, гость ( Вход | Регистрация )
Создание объекта |
Yaroslav |
16.5.2011, 14:18
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 15.2.2011 Пользователь №: 2412 Спасибо сказали: 0 раз(а) Репутация: 0 |
у меня возникает такой вопрос ...:
Есть два класса .. class Base { } class Child: public Base { } int main() { Base *pt = new Child; } где можно использовать такой тип создания объекта?? Что дает такое создание??? Спасибо.. |
|
|
RazrFalcon |
16.5.2011, 15:59
Сообщение
#2
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Если я правильно понял, то это банальное наследование классов.
Вы поучаете в классе Child возможность использовать функции из Base. |
|
|
Iron Bug |
16.5.2011, 17:48
Сообщение
#3
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
да, всё верно.
даёт лишь возможность динамического приведения к типу Child*: Child *pt2 = dynamic_cast<Child*>(pt); и pt2 будет ненулевым. |
|
|
Litkevich Yuriy |
16.5.2011, 20:00
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
где можно использовать такой тип создания объекта?? Что дает такое создание??? да объект-то тут простой. Только указатель на базовый класс инициализируется объектом-наследником.Это из области под названием полиморфизм (многоформие) Обычно он используется внутри функций. Т.к. наследники (обычно) наследуют все методы базового класса, то можно написать такую (для примера) функцию: где someMethod() - метод базового класса. Все наследники (обычно) наследуют этот метод. Тогда, какой бы наследник не создали, его можно будет передать внутрь этой функции.
|
|
|
Текстовая версия | Сейчас: 3.1.2025, 15:12 |