|
3 / 3 / 0
Регистрация: 25.12.2009
Сообщений: 50
|
|||||||||||||||||||||
Виртуальные абстрактные базовые классы07.03.2013, 16:33. Показов 2952. Ответов 16
Метки нет (Все метки)
Привет всем!:-) Вчера столкнулся со следующей проблемой: компилятор ругается на чистый виртуальный деструктор. Собственно листинги:
Также есть сомнение на счет того, что в классе SingingWaiter должно быть 2 объекта Worker, но используя ВИРТУАЛЬНЫЕ КЛАССЫ мы решаем проблему, в связи с чем, в конструкторе SingingWaiter явно указываем каким образом инициализировать объект Worker... Но вот с деструктором че будет непонятно???
0
|
|||||||||||||||||||||
| 07.03.2013, 16:33 | |
|
Ответы с готовыми решениями:
16
Абстрактные базовые классы
|
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
| 07.03.2013, 16:38 | |
|
0
|
|
|
3 / 3 / 0
Регистрация: 25.12.2009
Сообщений: 50
|
|
| 07.03.2013, 16:41 [ТС] | |
|
0
|
|
|
|
|
| 07.03.2013, 16:52 | |
|
Lopster92, все правильно вам компилятор ругается. Если вы хотите, чтобы это работало, то вам придется дать деструктору тело, даже пустое.
0
|
|
|
3 / 3 / 0
Регистрация: 25.12.2009
Сообщений: 50
|
|||||||
| 07.03.2013, 17:00 [ТС] | |||||||
Или вы имеете в виду дать тело для деструктора Абстрактного Базового Класса?
0
|
|||||||
|
|
||
| 07.03.2013, 17:07 | ||
|
Lopster92, тело должно быть у вашего абстрактного деструктора.
Добавлено через 12 секунд
0
|
||
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
| 07.03.2013, 17:10 | |
|
Как ни странно, но код из первого поста у меня компилируется без ошибок.
0
|
|
| 07.03.2013, 17:15 | |
|
1
|
|
|
3 / 3 / 0
Регистрация: 25.12.2009
Сообщений: 50
|
|||||||
| 07.03.2013, 17:16 [ТС] | |||||||
0
|
|||||||
|
|
||
| 07.03.2013, 17:19 | ||
|
0
|
||
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||
| 07.03.2013, 17:28 | |||
|
Не по теме:
Добавлено через 5 минут
0
|
|||
|
3 / 3 / 0
Регистрация: 25.12.2009
Сообщений: 50
|
||
| 07.03.2013, 17:29 [ТС] | ||
|
0
|
||
|
|
||||||
| 07.03.2013, 17:32 | ||||||
|
alsav22, ну здрасьте, приехали... В таком примере объекта-родителя и в помине нет (по понятным причинам), однако, смотрите вывод:
1
|
||||||
|
3 / 3 / 0
Регистрация: 25.12.2009
Сообщений: 50
|
||
| 07.03.2013, 17:38 [ТС] | ||
|
1
|
||
|
|
||
| 07.03.2013, 17:39 | ||
|
Lopster92, так гласит стандарт:
2
|
||
|
3 / 3 / 0
Регистрация: 25.12.2009
Сообщений: 50
|
||
| 07.03.2013, 17:59 [ТС] | ||
|
________________________________________ _______________ Sincerely, Lopster92!
0
|
||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 11.03.2013, 15:54 | |
|
Вообще, чистый виртуальный деструктор нужен только для того, чтобы указать, что класс, его содержащий, является абстрактным, в том случае, если все его методы по смыслу должны иметь тело. Т.е. это такой способ сказать компилятору: "да-да, все методы класса реализованы, но я всё равно хочу, чтобы этот класс являлся абстрактным и объектов его нельзя было создать". Для этого в Java и C# перед ключевым словом class пишут abstract. Если не ошибаюсь, в новом стандарте тоже есть нечто подобное, но проверять лень. Если в классе есть хотя бы один чистый виртуальный метод, делать деструктор чистым виртуальным нет смысла. Несмотря на всё это, любой класс обязан иметь деструктор, путь даже тело его остаётся пустым.
0
|
|
| 11.03.2013, 15:54 | |
|
Помогаю со студенческими работами здесь
17
Виртуальные базовые классы Виртуальные базовые классы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
||||
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1
У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\
А в самом низу файла-профиля. . .
|
|
PowerShell и онлайн сервисы. Валюта (floatrates.com руб.)
iNNOKENTIY21 11.11.2025
PowerShell функция floatrates-rub
Примеры вызова:
# Указанная валюта 'EUR'
floatrates-rub -Code 'EUR'
# Список имеющихся кодов валют
floatrates-rub -Available
function floatrates-rub {
|
PowerShell и онлайн сервисы. Погода (RP5.ru)
iNNOKENTIY21 11.11.2025
PowerShell функция Get-WeatherRP5rss для получения погоды с сервиса RP5
Примеры вызова
Get-WeatherRP5rss
с указанием id 5484 — Москва (восток, Измайлово) и переносом строки:. . .
|
PowerShell и онлайн сервисы. Погода (wttr)
iNNOKENTIY21 11.11.2025
PowerShell Функция для получения погоды с сервиса wttr
Примеры вызова:
Погода в городе Омск с прогнозом на день, можно изменить прогноз на более дней, для этого надо поменять запрос:. . .
|
PowerShell и онлайн сервисы. Валюта (ЦБР)
iNNOKENTIY21 11.11.2025
# Получение курса валют
function cbr (] $Valutes = @('USD', 'EUR', 'CNY')) {
$url = 'https:/ / www. cbr-xml-daily. ru/ daily_json. js'
$data = Invoke-RestMethod -Uri $url
$esc = 27
. . .
|
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений
Всем привет. А вот мой компьютер, переделанный из ноутбука.
Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
|