|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.11.2011, 19:20 | #1 |
Новичок
Джуниор
Регистрация: 17.11.2011
Сообщений: 3
|
виртуальная и чисто виртуальная функции
В чём разница между ними??? Как я понял, виртуальная определена в базовом классе, а чисто виртуальная нет. Можете посоветовать, где поподробнее почитать об этом, или хотя б скинуть пример.)
|
17.11.2011, 19:45 | #2 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
Разница в надписи =0 справа
1) Чисто виртуальную функцию можно не определять в базовом классе. 2) Объект класса, у которого есть хотя бы одна чисто виртуальная функция, создать не получится (абстрактный класс). Больше разницы никакой. |
17.11.2011, 19:49 | #3 |
Новичок
Джуниор
Регистрация: 17.11.2011
Сообщений: 3
|
т.е. если я в программе
Код:
Последний раз редактировалось JiryPK; 17.11.2011 в 19:55. Причина: неточность |
17.11.2011, 19:55 | #4 |
Новичок
Джуниор
Регистрация: 17.11.2011
Сообщений: 3
|
ну и уберу тело функции who, чтоб она не определялась
|
17.11.2011, 20:17 | #5 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
Да. Только строчка
Код:
|
18.11.2011, 00:38 | #6 | |
Форумчанин
Регистрация: 01.07.2011
Сообщений: 423
|
Цитата:
Абстрактный класс - это класс, который может использоваться только в качестве базового класса некоторого другого класса. Объекты абстрактного класса не могут быть созданы за исключением их создания в качестве подъобектов производного класса. Класс является абстрактным, если он имеет по крайней мере одну чисто виртуальную функцию. Виртуальная функция считается чисто виртуальной, если она объявлена со спецификатором чисто виртуальной функции. Чисто виртуальная функция должна быть определена только в том случае, если она явно вызывается из производного класса с указанием квалифицированного имени. Например, Код:
Функция draw может быть определена в производном классе. Если производный класс не переопределяет все чисто виртуальные функции, то он также является абстрактным классом. Можно в любой класс, даже если он сам является производным классом включать чисто виртуальные функции. Тогда он становится абстрактным, не смотря на то, что его базовый класс не является абстрактным.
Со мной можно встретиться на www.clipper.borda.ru
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Виртуальная клавиатура | mobilitialex | Общие вопросы Delphi | 12 | 18.05.2012 00:13 |
Виртуальная память | ordoss | Общие вопросы C/C++ | 1 | 12.01.2011 18:00 |
Виртуальная функция в С++ | MrJenika | Помощь студентам | 6 | 04.01.2010 18:12 |
- Что есть вообще виртуальная операционка? - Для каких целей она нужна? | Alex Cones | Операционные системы общие вопросы | 7 | 24.12.2009 22:54 |
виртуальная функция? | SERGOO | Общие вопросы C/C++ | 4 | 18.09.2007 21:43 |