![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| CoreDumped |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 1.8.2005 Репутация: нет Всего: 1 |
Это не совсем одно и тоже (хотя смысловые выражения абстрактный и чистый пересекаются и обеспечивают абстрактные базовые классы и чистые виртуальные функции один механизьм) тут слово "чистый" относится к виртуальной функции, а "абстрактный" к класу, содержащему такую функцию. И термин отнюдь не сишный а с++ (механизьмы наследования и виртуальные функции определены в с++) |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Дальний указатель на мальчика (LPBOY) прав, хотя и не совсем ясно выражается.
Чисто-виртуальная функция может иметь тело, а может не иметь - как вам больше нравится. "=0" в конце объявления просто делает класс абстрактным, и требует, чтобы данная функция была переопределена в инстационируемых наследниках. Насчет полезности... ну, кто-то из гуру приводил такой пример: нужно сделать класс абстрактным, а объявить чисто-виртуальным нечего (все функции делают что-то полезное). Выход - объявляем любую из них или все чисто виртуальными; вызывать их из производных классов по-прежнему можно, как обычно - base_class::func(), т.е. со статической компоновкой. Видимо, это и имел в виду LPBOY: невиртуальная функция вполне может не иметь тела, и все будет хорошо, пока вы ее не вызываете. -------------------- ... |
|||
|
||||
| Дрон |
|
||||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 10 Всего: 93 |
Я, кстати, его ник так же читаю
Всё равно извращение. -------------------- Да. Именно так. |
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |