crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Создание объекта
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 16.5.2011, 20:00
 
Цитата(Yaroslav @ 16.5.2011, 17:18) *
где можно использовать такой тип создания объекта?? Что дает такое создание???
да объект-то тут простой. Только указатель на базовый класс инициализируется объектом-наследником.
Это из области под названием полиморфизм (многоформие)
Обычно он используется внутри функций.

Т.к. наследники (обычно) наследуют все методы базового класса, то можно написать такую (для примера) функцию:
void someFunc(Base *o)
{
    o->someMethod();
}
где someMethod() - метод базового класса. Все наследники (обычно) наследуют этот метод. Тогда, какой бы наследник не создали, его можно будет передать внутрь этой функции.
Iron Bug Дата 16.5.2011, 17:48
  да, всё верно.
даёт лишь возможность динамического приведения к типу Child*:
Child *pt2 = dynamic_cast<Child*>(pt);
и pt2 будет ненулевым.
RazrFalcon Дата 16.5.2011, 15:59
  Если я правильно понял, то это банальное наследование классов.
Вы поучаете в классе Child возможность использовать функции из Base.
Yaroslav Дата 16.5.2011, 14:18
  у меня возникает такой вопрос ...:
Есть два класса ..
class Base
{
}
class Child: public Base
{
}
int main()
{
Base *pt = new Child;

}
где можно использовать такой тип создания объекта?? Что дает такое создание???

Спасибо..
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 24.4.2024, 8:31