Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Корректное считывание данных 
:(
    Опции темы
CoreDumped
Дата 9.8.2005, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 1.8.2005

Репутация: нет
Всего: 1



Цитата(comcon1 @ 9.8.2005, 11:06)
Я просто не знал, что pure virtual и abstract - одно и то же. smile А код она дала позже, чем я написал этот пост.
Вообще все, вроде разрулилось, правда мы долго не могли воткнуть, что абстрактные функции могут иметь тело smile.

Это не совсем одно и тоже (хотя смысловые выражения абстрактный и чистый пересекаются и обеспечивают абстрактные базовые классы и чистые виртуальные функции один механизьм) тут слово "чистый" относится к виртуальной функции, а "абстрактный" к класу, содержащему такую функцию. И термин отнюдь не сишный а с++ (механизьмы наследования и виртуальные функции определены в с++)
PM MAIL   Вверх
Earnest
Дата 9.8.2005, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 53
Всего: 183



Дальний указатель на мальчика (LPBOY) прав, хотя и не совсем ясно выражается.
Чисто-виртуальная функция может иметь тело, а может не иметь - как вам больше нравится. "=0" в конце объявления просто делает класс абстрактным, и требует, чтобы данная функция была переопределена в инстационируемых наследниках. Насчет полезности... ну, кто-то из гуру приводил такой пример: нужно сделать класс абстрактным, а объявить чисто-виртуальным нечего (все функции делают что-то полезное). Выход - объявляем любую из них или все чисто виртуальными; вызывать их из производных классов по-прежнему можно, как обычно - base_class::func(), т.е. со статической компоновкой. Видимо, это и имел в виду LPBOY: невиртуальная функция вполне может не иметь тела, и все будет хорошо, пока вы ее не вызываете.


--------------------
...
PM   Вверх
Дрон
Дата 9.8.2005, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 10
Всего: 93



Цитата(Earnest @ 9.8.2005, 19:39)
Дальний указатель на мальчика (LPBOY)

smile
Я, кстати, его ник так же читаю smile

Цитата(Earnest @ 9.8.2005, 19:39)
нужно сделать класс абстрактным, а объявить чисто-виртуальным нечего

Всё равно извращение.



--------------------
Да. Именно так.
PM   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0495 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.