![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 19.04.2012
Сообщений: 57
|
![]()
Доброго дня форумчане!
Недавече начал разбираться в примерах Sampels DX SDK, и наткнулся на такую штуку, что используемые методы классов, к примеру ID3DXEffect, IDirect3DDevice9 и другие, являются чисто виртуальными функциями. однако активно используются в коде примеров - как такое возможно??? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
это просто обьявления интерфейсов.
и делается так чтоб вы не могли создать интерфейс. а вы лишь получаете обьект реализующий интерфейс. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 19.04.2012
Сообщений: 57
|
![]()
это понятно что они являются интерфейсами, но если в примере я навожу на метод такого абстрактного класса и там чёрным по белому написано
функция такая-то=0; получается используя я её компилятор ругаться не будет, но криков будет при выполнении или линковке, скорее при выполнении... как я понимаю, нужно отнаследоваться от этих интерфейсов, создать тело функции и тогда уже с ней можно работать, или я чего то не понимаю? или же они всё таки определены в либах эти методы? разве такое возможно, чтобы в одном файле функция была объявлена как чисто виртуальная, а в другом файле была уже описана вместе с реализацией? |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 19.04.2012
Сообщений: 57
|
![]()
Вообще говоря, класс можно сделать абстрактным, даже если все его методы определены. Иногда это необходимо сделать для того, чтобы быть уверенным в том, что объект данного класса никогда не будет создан. Можно задать один из методов как чисто виртуальный, но, тем не менее, определить его реализацию.
значит надо подключать нужные либы... |
![]() |
![]() |
![]() |
#5 | ||||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,821
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
|
||||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Direct Sound | Валерий LX | C# (си шарп) | 0 | 28.09.2011 17:42 |
DC++(Direct Connect) | azaznio | Компоненты Delphi | 2 | 15.02.2011 15:49 |
Direct 10 в Windows XP | +Sergey+ | Windows | 5 | 01.02.2009 02:33 |
Direct X 9.0 Мануал на русском | Andrew#90 | Общие вопросы .NET | 0 | 23.11.2008 22:35 |