Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
monolit
186 / 185 / 22
Регистрация: 24.03.2011
Сообщений: 669
Завершенные тесты: 1
#1

Определение чисто виртуальных функций в потомках - C++

14.07.2013, 11:31. Просмотров 410. Ответов 4
Метки нет (Все метки)

Можно ли вместо определения чисто виртуальной функции в классе-потомке написать эту самую функцию без тела? Т.е. она как бы есть, но ее как бы нет, ибо конкретно этому классу она как таковая не нужна, но и абстрактным он не является...
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2013, 11:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определение чисто виртуальных функций в потомках (C++):

Описание чисто виртуальных методов, Абстрактные классы - C++
Здравствуйте. Изучаю наследование, абстрактные классы. Возникло два вопроса: 1. Видел несколько примеров, вопрос - чем отличаются...

функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д. - C++
функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д.

Использование виртуальных функций - C++
Программа берет данные из двух файлов, в которых есть дата и количество проданных билетов, и высчитывает среднее количество проданных...

Использование виртуальных функций - C++
Дан класс "треугольник", который определяется длиной одной из сторон и значениями прилегающих двух углов. Создать соответствующие...

Вызов виртуальных функций - C++
Доброго времени суток, форумчане! Стоит такая задача: Есть класс, который содержит три чисто виртуальные функции, назовём его IClass. ...

Перегрузка виртуальных функций - C++
please HELP! перегружаю виртуальную функцию в абстрактном классе. class ONE { virtual std::string FUN(const std::string&...

4
0x10
2474 / 1647 / 247
Регистрация: 24.11.2012
Сообщений: 4,068
14.07.2013, 11:35 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от monolit Посмотреть сообщение
конкретно этому классу она как таковая не нужна
Тогда, видимо, этот класс вообще не должен быть в данной иерархии.
В общем, выглядит это как архитектурная ошибка.
3
Croessmah
Эксперт CЭксперт С++
13512 / 7670 / 866
Регистрация: 27.09.2012
Сообщений: 18,870
Записей в блоге: 3
Завершенные тесты: 1
14.07.2013, 11:40 #3
Ну сделайте тело пустое и всё
2
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6503 / 3139 / 307
Регистрация: 04.12.2011
Сообщений: 8,661
Записей в блоге: 5
14.07.2013, 12:10 #4
Цитата Сообщение от monolit Посмотреть сообщение
Можно ли вместо определения чисто виртуальной функции в классе-потомке написать эту самую функцию без тела?
Можно. Но вот это:
Цитата Сообщение от monolit Посмотреть сообщение
Т.е. она как бы есть, но ее как бы нет, ибо конкретно этому классу она как таковая не нужна, но и абстрактным он не является...
Требования не совместимые с жизнью. Класс объявляющий, хотя бы один, чисто виртуальнй метод, является абстрактным.
Определите виртуальную функцию. Пусть делает что-то безобидное. Например как Croessmah советует, если void... И не вызывайте. Хорошей новостью является то, что если придётся, то Вы сразу возьмёте да и напишете туда всё.
0
monolit
186 / 185 / 22
Регистрация: 24.03.2011
Сообщений: 669
Завершенные тесты: 1
14.07.2013, 13:40  [ТС] #5
Цитата Сообщение от IGPIGP Посмотреть сообщение
Например как Croessmah советует
Мне тоже другого в голову не приходило, но подумал, мало ли: с конструкторами так иногда делают, почему бы и функции не быть без тела... Всем спасибо!
0
14.07.2013, 13:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2013, 13:40
Привет! Вот еще темы с ответами:

Механизм виртуальных функций - C++
Всем привет! Имею базовый абстрактный класс: class Interface { public: //функция детектирования устройства true - если команда...

Таблица виртуальных функций - C++
Доброго дня! Не могу найти, подскажите, пожалуйста, таблица виртуальных функций же только одна для класса? И каждый его объект имеет...

Таблица виртуальных функций - C++
объясните плиз кто разбирается.. есть абстрактный класс с двумя виртуальными функциями, от него наследуются два класса реализующие эти...

Странное наследование виртуальных функций - C++
Что-то я туплю - почему нижеприведенный код компилируется? В предке определена pure virtual функция возвращающая rvalue, а в потомке -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru